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

时间:2013-04-01 20:08:35

标签: python import

当我开始我的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'>

如果不重命名文件夹或文件,有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

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

project.py
project/
    main.py

project.py的内容:

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

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