代码之家  ›  专栏  ›  技术社区  ›  Andres Jaan Tack

我应该如何组织python源代码?[关闭]

  •  90
  • Andres Jaan Tack  · 技术社区  · 15 年前

    我正在开始使用python(现在是我尝试的时候了),我正在寻找一些最佳实践。

    我的第一个项目是在多个线程中运行命令行实验的队列。我开始变得很长了 main.py 文件,我想把它拆开。总的来说,我在寻找: python程序员如何组织多个源文件? 有适合你的结构吗?

    我的具体问题包括:

    1. 每个类应该在一个单独的文件中吗?
    2. 我应该如何组织与源代码相关的单元测试?
    3. 我应该在哪里放置doc注释,特别是用于命令行操作的注释?
    4. 如果我使用多个目录,如何在它们之间导入类?

    我也许可以通过反复试验得出一些自己的结论,但我宁愿从某件事开始 好的 .

    2 回复  |  直到 15 年前
        1
  •  28
  •   Drew Noakes    10 年前

    这个 article Eric pointed to非常棒,因为它涵盖了组织大型python代码库的细节。

    如果您是从google登陆这里,并试图找出如何将一个大的源文件拆分为多个更易于管理的文件,我将简要总结这个过程。

    假设您当前在一个名为 main.py :

    • 在同一文件夹中创建另一个源文件(让我们调用我们的 utils.py 在本例中)
    • 从中移动所需的类、函数、语句等 Me.Py 进入之内 用途:
    • Me.Py 在顶部添加一行: import utils

    从概念上讲,它所做的是创建一个名为 utils 在另一个源文件中。你可以在任何需要的地方导入它。

        2
  •  6
  •   David Zwicker    10 年前

    组织代码和测试的方式与组织任何oo语言的方式完全相同。

    我的回答。可能不对,但对我有用

    1. 取决于您的功能是如何分割的。对于我的主python应用程序,我有一个包含入口点类的文件,然后是不同功能的包
    2. 我使用PyDeV作为Eclipse,并像Java那样组织它。
    >  Workspace
    >     |
    >     |-Src
    >     |   |-Package1
    >     |   |-Package2
    >     |   |-main.py
    >     |-Test
    >         |-TestPackage1
    >         |-TestPackage2
    
    1. 在任何地方使用docstring跟踪所有内容
    2. 在确定相关的 __init__.py 文件在文件夹中。只是一个简单的例子 from module import class