[英]Python import from own module
我有一個結構為“hydro”的模塊:
hydro/
__init__.py
read.py
write.py
hydro_main.py
這被用作其他幾個模塊的子模塊,這些模塊具有類似名稱的腳本:
scenarios/
__init__.py
read.py
write.py
scenarios_main.py
hydro/
__init__.py
read.py
write.py
hydro_main.py
為了使腳本名稱保持直截了當,我想在導入時指定模塊名稱。 所以在hydro_main.py的header中,我有:
import hydro.read
在scenario_main.py中,我有:
import hydro.read as read_hydro
import scenarios.read as read_scenarios
問題是,當我嘗試從 package 根目錄運行 hydro_main.py 時,我收到以下錯誤:
ModuleNotFoundError: No module named 'hydro'
如何為“hydro”設置 package 名稱,以便在導入時引用 package 名稱? 我認為添加__init__.py
應該初始化 package,但__package__
仍然返回為None
。
您可以僅將整個模塊作為一個實例導入。
import hydro
from hydro import read as read_hydro, hydro_main as main
hydro.hydro_main()
main() # same as above
hydro.read()
read_hydro() #same as above
它是一個子模塊,所以你必須使用 parentModule.subModule.*。 您的第一行將更改為import scenario.hydro.read as read_hydro
print("I am in hydro_main")
print("I am in hydro read")
print("I am in hydro write")
print("I am in scenarios read")
print("I am in scenarios write")
import scenarios.hydro.read as read_hydro
import scenarios.read as read_scenarios
我在水電閱讀
我正在閱讀的場景中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.