[英]Importing a function from another folder
假設我有這樣的結構:
tests----------------
___init__.py
test_functions_a
functions-----------
___init__.py
functions_a
functions_b
我想從functions_a
測試 function ,但在functions_a
內部我從functions_b
導入 function 。
當我嘗試時:
from functions.functions_a import function_aa
我收到一個錯誤,因為在functions_a
里面我有一行:
from functions_b import function_bb
並不是:
from functions.functions_b import function_bb
我該如何解決這個問題?
歡迎任何好的做法,因為我沒有構建項目的經驗。
根據Google Python 風格指南,您應該:
僅對包和模塊使用 import 語句,而不是單個類或函數。 請注意,從類型模塊導入有明確的豁免。
您還應該:
使用模塊的完整路徑名位置導入每個模塊。
如果您遵循這兩個約定,您將來可能會避免像您剛才描述的那樣的情況。
現在,如果您遵循這些提示,您的代碼可能會如下所示:
模塊functions.functions_a
:
from functions import functions_b as funcs_b
def function_aa():
print("AA")
def function_aa_bb():
function_aa()
funcs_b.function_bb()
模塊functions.functions_b
:
def function_bb():
print("BB")
最后, test_functions_a.py
:
from functions import functions_a as funcs_a
if __name__ == "__main__":
funcs_a.function_aa()
funcs_a.function_aa_bb()
Output:
AA
AA
BB
您不能直接導入 function 而是可以將文件 1 導入其他文件,然后從您導入的特定文件中調用 function。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.