【问题标题】:Python project organizationPython项目组织
【发布时间】:2012-10-21 23:29:06
【问题描述】:

昨天我开始了一个重要的 Python 项目,从那时起我一直在寻找有关如何组织代码以拥有“高质量”项目的文档。有很多关于如何组织包和模块的文章和官方文档,但由于我对这种语言非常陌生,我认为这不是我的情况。

该项目是一个客户端-服务器平台,用于在本地网络中分发文件(好吧,远不止于此,但它是基本思想)。问题是它不会成为一个模块,我认为这不是一个包。至少不像 Python 文档中描述的那样:

包是一种构建 Python 模块命名空间的方法,使用 “带点的模块名称”

我也在 Git 中搜索过流行的项目如何组织其代码,但其中大多数是模块,其余的......我什至不知道如何运行它们。

所以问题是,我的代码是什么(模块、包、...)以及组织它的最佳方式是什么?你知道这方面的好文章吗?

谢谢。

【问题讨论】:

    标签: python client-server code-organization project-organization


    【解决方案1】:

    是的,您的项目将是一个包。

    模块是相关代码的集合。大多数不平凡的项目将是一个包中的模块集合(可能带有子包)。

    【讨论】:

    • 例如,如果我编写一些代码来处理我的数据库(例如添加和删除项目),这将是包(我的项目)中的一个模块,不是吗?跨度>
    • 一个模块是一个文件,一个包是一个文件夹,所有的代码都会以某种方式在一个模块中,如果你在多个模块中有相关的代码,你应该把它们在一个包中显示他们的关系。
    • 好的,这是一个很好的定义。谢谢你。最后一个问题。 init.py 文件呢?我读到它被用作包中的主脚本并在 Python 中定义目录,因此这些将很容易导入,但在 GitHub 中查找示例我发现很多这些文件完全是空的。有什么原因吗?
    • 对不起,我的意思是(下划线)(下划线)init(下划线)(下划线).py 文件。再次为新评论感到抱歉,但我无法编辑之前的评论:S
    • __init__.py 文件表示该文件夹是一个包,它们不需要包含任何内容,尽管它们可以包含在导入包时运行的代码。
    猜你喜欢
    • 2011-07-06
    • 2010-09-28
    • 1970-01-01
    • 2013-05-27
    • 2014-03-15
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多