在大多数编程环境中,很清楚如何将代码分配到几个部分以及一切如何交互。在Python中,我似乎完全迷失了。
Python应用程序的布局应如何显示?
目前我有:
setup.py application_name/ __main__.py __init__.py views/ controllers/ model/ resources/ <- images, videos, ...
如何执行应用程序?
我有一个包含以下内容的跑步者脚本
#!/usr/bin/env python -m "application_name"
是否应该为此目的使用__main__.py
?是否需要跑步者脚本?
如何导入部分应用程序? (Python 2.6)
例如在application_name/__main__.py
from . import controllers.MainWindow
如何布置应用程序?
答案 0 :(得分:5)
这个问题有几个部分,所以我会尝试依次回答:
1:它真的取决于你,除了那些确定目录应该被视为package之类的东西之外,没有严格的规则。一些框架将使用脚本来规定一个目录结构来生成脚手架(有点像Rails在Ruby世界中所做的那样),但这纯粹是给定框架的一种便利或约定。组织您的代码和模块,使其在逻辑上有意义,就像在任何其他语言中一样。
2:你拥有的东西绝对没问题。或者你可以使用installed script如果你使用distutils,console_script作为.egg安装的一部分,或者作为最后的手段直接调用main.py(或任何你命名的)脚本。 console_script很常见,例如nose测试框架等工具使用它。
3:此特定主题有PEP。根据我的经验,你应该更喜欢绝对进口到相对进口。要强制执行此操作,您可以执行以下操作:
from __future__ import absolute_import