问题是你myList从定义的
main.py,但是
subfile.py需要使用它。这是解决此问题的一种干净方法:将所有全局变量移到一个文件中,我将此文件称为
settings.py。该文件负责定义全局变量并初始化它们:
# settings.pydef init(): global myList myList = []
接下来,你subfile可以导入全局变量:
# subfile.pyimport settingsdef stuff(): settings.myList.append('hey')请注意,
subfile它不会调用
init()该任务属于
main.py:
# main.pyimport settingsimport subfilesettings.init() # Call only oncesubfile.stuff() # Do stuff with global varprint settings.myList[0] # Check the result
这样,你可以实现自己的目标,同时避免多次初始化全局变量。



