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