我在當前目錄中有__init__.py
文件。在哪種情況下運行__init__.py?
我需要一個完整的環境列表,在該環境下運行該文件。
第一種情況是
import __init__
在同一目錄下寫入script.py
這個文件運行。
什麼是其他情況?
我在當前目錄中有__init__.py
文件。在哪種情況下運行__init__.py?
我需要一個完整的環境列表,在該環境下運行該文件。
第一種情況是
import __init__
在同一目錄下寫入script.py
這個文件運行。
什麼是其他情況?
A __init__.py
文件在與其對應的包被導入時運行。因此,當您import some_package
時,將執行文件some_package\__init__.py
。從包中導入子模塊時,首先加載包。因此import aa.bb.cc
將在加載aa.bb
和aa.bb.cc
之前加載aa(並因此執行aa/__init__.py
)。
文件夾some_package
必須是可發現的,這意味着它必須存在於其中一個sys.path
文件夾中。這包括當前目錄。
如果您只是運行一個腳本(python some_script.py
),而碰巧在同一個文件夾中有一個__init__.py
文件,那麼這就意味着什麼都沒有,因爲當前文件夾本身不是一個包。 (當然,除非你執行恰好駐留在包內的腳本)。
另外一個:如果你想能夠運行這個包,你可以構造一個__main__.py文件(參見[here ](https://stackoverflow.com/questions/4042905/what-is-main-py)) – Nemelis
'import __init__'真的很奇怪。也許你想'進口。作爲......'?想要「運行」一個模塊而不是利用它的內容表明設計不好,儘管(對導入吸盤有副作用的模塊)。考慮寫一個函數,導入('from。import main'),然後調用它。 – Ryan
我把這標記爲不清楚。你說過你不想寫什麼,但是你想寫什麼_do_?你想要達到什麼目的?你能寫一個最小的工作例子嗎? – ymbirtt
這是我的問題:我不想導入__init__,我希望它自動運行 – Dims