簡體   English   中英

從另一個文件夾導入 function

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM