4

我正在写一个游戏框架。这是我当前的文件结构:

src/
  framework/
    __init__.py
    util.py
    render.py
    game.py
  pong.py

我希望能够简单地import gameimport render直接从pong.py文件中执行。实现这一目标的最佳方法是什么?最初util.py, render.py, game.py模块在src文件夹中,但为了组织起见,我决定将它们放入单独的文件夹中。我对包装惯例很陌生,所以我不知道这是否是推荐的做事方式。

4

1 回答 1

7

做到这一点的最好方法是根本不这样做。正是出于最初移动它们的原因——为了组织——你会希望它们位于一个单独的模块中。如果你想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
于 2012-09-18T00:56:54.463 回答