我正在编写一个游戏框架。这是我当前的文件结构:
src/
framework/
__init__.py
util.py
render.py
game.py
pong.py
我希望能够直接从 pong.py
文件中简单地执行 import game
或 import render
。完成此任务的最佳方法是什么?最初,util.py、render.py、game.py
模块位于 src
文件夹中,但为了组织起见,我决定将它们放入单独的文件夹中。我对包装约定很陌生,所以我不知道这是否是推荐的做事方式。
最佳答案
做到这一点的最好方法就是根本不做。正是出于您最初移动它们的原因——为了组织——您希望它们位于一个单独的模块中。如果您想在代码中将模块称为 game
,您可以这样做:
from framework import game
game.foo()
通常,当您执行import game
时,您会期望game
是系统库或在运行脚本的文件夹中。如果不是这样,它会把人们赶走。如果你要让你的框架成为一个系统库,你不会把它作为三个独立的库 util
、game
和 render
,不?您将它打包到一个库中 - framework
- 并使用子模块分发它。因此,您真的不想这样做。
但是,据我所知,没有答案可能会令人沮丧,如果你真的想继续,你可以将 framework
文件夹添加到 sys.path
,python 检查每当你导入一个模块时:
import sys
sys.path.append("framework")
import game
关于python - 在python中组织源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469002/