2015-04-17 78 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()