2013-06-27 19 views
1

我做了一個奇怪的現象:Python的執行神祕其他幻象腳本

在我的文件夾中的/ home/Komponenten /被很多Python腳本的

當我開始

CD /家庭/ Kompontenen

/家庭/ Kompontenen>蟒蛇urlfilter.py

導致執行另一個腳本,我發現它在我的情況下,它是來自同一個文件夾的queue.py

我雖然沒問題,但在urlfilter中可能有一些代碼是我使用了queue.py。 Queue.py包含多線程,但沒有什麼特別的一個小測試

所以我只是試圖移動queue.py文件

之後urlfilter.py正常執行,沒有錯誤

所以我還是有不知道爲什麼python解釋器執行queue.py而不是urlfilter.py

回答

2

在Python中,導入路徑包含.(工作目錄)。導入模塊基本上意味着執行它。這就是爲什麼你從urlfilter.py導入queue導致queue被執行。爲避免通過導入意外執行腳本,您可以檢查__name__變量的值'__main__'

if __name__ == '__main__': 
    do_not_execute_this_during_import()