2

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

有没有办法在不重命名文件夹或文件的情况下解决这个问题?

4

1 回答 1

0

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

project.py
project/
    main.py

project.py 的内容:

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

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

于 2013-04-01T20:47:42.737 回答