当我开始我的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'>
如果不重命名文件夹或文件,有没有办法解决这个问题?
答案 0 :(得分:0)
现在,我的解决方案是将逻辑从project.py移动到新文件:
project.py
project/
main.py
project.py的内容:
import project.main
if __name__ == "__main__":
project.main.main()
然后我可以直接导入project.main.main()。