繁体   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