我有一些全局变量:directory_name
和file_list
它们在顶部被定义,在主函数中被赋值。我需要在名为checkDirectory(blocknum)
的函数中使用它们的值。如果在调用该函数之前打印它们的值,它们是正确的,但在函数中它们是空的。这是一些代码:
file_list = []
directory_name = ""
def checkDirectory(blocknum):
global directory_name
global file_list
directory = tokenize(open(directory_name + '/' + file_list[blocknum], 'r').read())
main():
try:
directory_name = sys.argv[1]
if not os.path.exists(directory_name):
print("This is not a working directory.")
return
except:
directory_name = os.getcwd()
files = os.listdir(directory_name)
file_list = sorted(files, key=lambda x: int((x.split("."))[1].strip()))
....
checkDirectory(26)
这是一个基本的100行脚本,虽然我可以传入变量,但我将不得不为三到四个递归函数重复此操作,因此我宁愿不必每次都这样做。