如何为包实现标准logger和argparser

时间:2011-10-14 16:08:47

标签: python build package argparse

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

是否应该在套餐的__init__.py内完成?有没有其他方法来实现这一目标?我还没有看到__init__.py真正需要什么?也许,这回答了我自己的问题?

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

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

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

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

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

对于日志记录看起来只有python logging documentation。这是一个非常容易实现非常灵活的日志记录系统。

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

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