2015-04-17 47 views
1
#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.mylistPython的进口VS直接执行

回答

2

这是因为change从不被调用。在文件末尾调用它change()

9

是的,这是正常行为。您需要调用change函数来执行此代码。

您可以添加以下change.py结束

if __name__=="__main__": 
    change()