packageName\
__init__.py
src\
__init__.py
someFile.py
classes\
__init__.py
engine1.py
engine2.py
engine.py
tests\
__init__.py
myTests.py
temp\
我正在使用Python的OOP,我有几个问题。构建Python OOP代码和模块
据我所知,__init__.py
将文件夹定义为一个模块,但我不明白的是这对我有什么好处。
如果需要从packageName/src/classes
文件夹导入类,我该如何运行myTests.py
?
$ python packageName/tests/myTests.py
上面的调用是我想我打算如何运行我的测试。如果结构是这种情况,我如何导入类?
from ..src.classes.engine1 import *
我强烈建议你阅读[漫游指南包装1.0 - 布置您的项目(http://guide.python-distribute.org/quickstart的.html#布局设计,你的项目)。如果你把你的项目组织成一个合适的包并安装它,你将能够在系统的任何地方使用绝对导入(例如:'from src.classes.engine1 import something')。此外,我强烈建议您避免使用'import *'语句......它们会污染模块的命名空间并导致各种不寻常的问题。 – 2013-02-15 23:24:39
将'__init __。py'文件添加到文件夹使其成为其他模块(和/或子包)的_package_,而不是模块本身。 – martineau 2013-02-16 03:25:14