#conf.py
def init():
global mylist
mylist=[]
#change.py
import conf
def change():
if __name__ == "__main__":
print('Direct')
conf.mylist.append('Directly executed')
print(conf.mylist)
else:
conf.mylist.append('It was imported')
#exec.py
import conf
import change
conf.init()
change.change()
print (conf.mylist)
运行 exec.py 时,结果是我的预期,但直接运行 change.py 时我没有得到任何输出(没有直接,没有conf.mylist
)
答案 0 :(得分:9)
是的,这是正常行为。您需要调用change
函数才能执行此代码。
您可以将以下内容添加到 change.py
的末尾if __name__=="__main__":
change()
答案 1 :(得分:2)
这是因为永远不会调用change
。使用change()