在已安装的Python包中导入

彼得罗·马尔凯西(Pietro Marchesi)

对于已安装的Python软件包,请考虑以下目录结构:

project/
    project/
        __init__.py
        file1.py
        file2.py
        module/
            __init__.py
            file3.py
    setup.py

为了访问在一个函数file2.pyfile1.py,一个可以做

from file2 import fun

或者

from project.file2 import fun

类似地,如果file1.py我想从中访问函数file3.py,则可以执行from project.module.file3 import functionfrom .module.file3 import function

这两个选项似乎是等效的。是否有首选的方法,或者我所缺少的两者之间存在相关差异?

Muntaser Ahmed |

尽管这主要是个人喜好问题,但PEP8建议使用绝对导入:

from project.module.file3 import function 

而不是相对进口:

from .module.file3 import function

绝对导入更具可读性和更好的行为(失败时出现更好的错误消息)。但是,当使用绝对导入变得不必要的冗长时(使用您的判断),可以使用相对导入。有关进口,请参阅此PEP8文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章