1

我正在尝试为我们的内部软件开发流程实现 python 构建包和功能测试包。我的主要目标是实现一个全局/标准记录器(类似于这里的参考)和 argparser,所有模块都将从它们的透视包中使用(即构建记录器和解析器将不同于测试套件记录器和解析器)。

这应该在__init__.py包装中完成吗?有没有其他方法可以实现这一目标?我还没有看到真正的需要__init__.py是什么?也许,这回答了我自己的问题?

我编写了许多 python 模块和其他应用程序,但从未编写过包/库。这个概念似乎给我带来了新的可能性,比如标准化这些流程。

基本上,总而言之,我对这些软件包的目标是:

1.) 消除对长参数列表的冗余传递/解析和/或访问系统环境的需要。

2.) 消除我们过去从不同的测试和构建脚本中看到的无数输出。

3.) 提供易于使用的自文档包。任何关于包文档的建议也将非常有用。:)

这将使这些软件包的用户能够:

1.) 轻松访问一组标准参数。例如,包中的每个模块都将(按优先顺序)使用标准标志解析命令行参数、加载配置文件或使用默认值。

2.) 以标准方式轻松记录错误、警告和调试语句。

3.) 随着这些测试/构建模块的传递,这最终将使“用户”(即没有编写模块的人)能够以通用方式运行它。

我想我正在寻找一些真正的“Pythonic”实施建议,因为那里的各种选项和可能性似乎是压倒性的。提前致谢。

4

1 回答 1

0

对于日志记录,只需查看python 日志记录文档即可。这是一个非常容易实现且非常灵活的日志系统。

至于您的问题__init__.py,如果您来自其他编程语言,请将其视为构造函数。如果您想在加载时分配一些默认值,那么它们应该进入__init__.py.

我不是很熟悉argparse,所以其他人可能会对此有所了解。

于 2011-10-14T16:27:02.350 回答