Python - 当包具有相同名称时从文件导入

2024-01-05

当我开始我的Python项目时,我做了一些愚蠢的事情:我将我的主文件命名为project.py,并将一堆逻辑存储在一个也称为project的包中。这是目录结构:

project.py
project/
    other files

问题是:现在我需要从project.py 导入函数main。但每次我尝试导入它时,python 都会尝试导入包而不是模块。

>>> from project import main
AttributeError: 'module' object has no attribute 'main'
>>> import project
>>> print(project)
>>> <module 'project' from 'c:\temp\project\__init__.pyc'>

有没有什么方法可以解决这个问题而不重命名文件夹或文件?


现在,我的解决方案是将逻辑从 project.py 移动到新文件:

project.py
project/
    main.py

项目.py的内容:

import project.main
if __name__ == "__main__":
    project.main.main()

然后我可以直接导入project.main.main()。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python - 当包具有相同名称时从文件导入 的相关文章

随机推荐