Python应用程序的布局如何?

时间:2009-11-23 07:47:14

标签: 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"
    

    是否应该为此目的使用__main__.py?是否需要跑步者脚本?

  • 如何导入部分应用程序? (Python 2.6)

    例如在application_name/__main__.py

    from . import controllers.MainWindow
    

如何布置应用程序?

1 个答案:

答案 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
相关问题