我想以我的工作目錄作為項目主目錄加載一個函數/模塊,但函數文件存儲在子目錄級別以下,所以正常from function_file import function_name不起作用。這是項目目錄設置的樣子:└───project_main_directory │ .gitattributes │ .gitignore │ README.txt │ ├───code │ ├───exploration │ └───scripts │ │ script1.py │ │ script2.py │ │ script3.py │ │ │ └───functions │ │ function1.py │ │ function2.py │ └───__init__.py │ ├───data │ └───example_data │ data.csv └───documents所以我嘗試通過導入函數import code.scripts.function.function1 from function1這是行不通的。我知道這是因為其他子目錄不是模塊,但我想問一下附近是否有?-- 編輯我正在使用 code/scripts/script1.py 中的 .py 文件,但工作目錄是 project_main_directory/
3 回答

侃侃無極
TA貢獻2051條經驗 獲得超10個贊
__init__.py在每個子目錄中添加一個空文件,使它們成為模塊。
.
├── code
│ ├── __init__.py
│ └── scripts
│ ├── __init__.py
│ └── script1.py
└── main.py
然后,如果您調用hello了一個函數,則code/scripts/script1.py可以通過以下方式導入該函數:
from code.scripts.script1 import hello
hello("yo")

慕姐8265434
TA貢獻1813條經驗 獲得超2個贊
如果您當前的目錄是 project_main_directory,則可以使用:
from code.scripts.functions.function1 import function1
您的腳本目錄無關緊要。只有您當前的目錄很重要(請參閱 IDE 的頂部)

叮當貓咪
TA貢獻1776條經驗 獲得超12個贊
要從另一個 python 文件導入函數/模塊,您必須執行以下操作 -
from code.scripts.functions.function1 import function1
上面我們從存儲在functions目錄中的function1.py文件中加載function1,該目錄存儲在scripts目錄中,最后在code目錄中。
編輯 - 所以你是說,你想從 script1.py 中的 function1.py 加載一個函數?在那種情況下from .functions.function1 import function
應該工作。
添加回答
舉報
0/150
提交
取消