在config.py中,我有:
config = 0
#config = []
def init_config():
global config
config = 1
#config.append("1")
print("init", config)在main.py中,我有:
from config import init_config
from config import config
def main():
init_config()
print("main", config)
if __name__ == '__main__':
main()以及位于同一个目录中的config.py和main.py。运行python main.py之后,我得到了:
init 1
main 0但是,如果我使用config.py中的评论行,我得到:
init ['1']
main ['1']那么,为什么会发生这种差异呢?(Python 3.5.5)
发布于 2018-07-04 16:54:08
从config.py导入变量config后,变量config成为驻留在main.py名称空间中的config.config的一个单独副本。您应该将import config作为一个模块访问,然后将变量config作为一个属性访问到模块config:
import config
def main():
config.init_config()
print("main", config.config)
if __name__ == '__main__':
main()https://stackoverflow.com/questions/51178081
复制相似问题