我正在尝试为我们的内部软件开发过程实现python构建包和功能测试包。我的主要目标是实现一个全局/标准记录器(类似于引用here)和argparser,所有模块将在其透视包中使用(即构建记录器和解析器将与测试套件记录器和解析器不同) )。
是否应该在套餐的__init__.py
内完成?有没有其他方法来实现这一目标?我还没有看到__init__.py
真正需要什么?也许,这回答了我自己的问题?
我已经编写了许多python模块和其他应用程序,但从来没有包/库。这个概念似乎为我带来了新的可能性,例如标准化这些过程。
基本上,总而言之,我对这些软件包的目标是:
1。)消除冗长传递/解析长参数列表和/或访问系统环境的需要。
2。)通过不同的测试和构建脚本,消除我们过去看到的无数输出。
3.)提供易于使用的自我文档包。关于包文档的任何建议都非常有用。 :)
这将使这些软件包的用户能够:
1。)轻松访问一组标准参数。例如,包中的每个模块(按优先顺序)使用标准标志解析命令行参数,加载配置文件或使用默认值。
2.)以标准方式轻松记录错误,警告和调试语句。
3。)当这些测试/构建模块被传递时,这将最终使“用户”(即没有编写模块的人)以通用方式运行它。
我想我正在寻找一些真正的“Pythonic”实施建议,因为那里的各种选择和可能性似乎是压倒性的。提前谢谢。
答案 0 :(得分:0)
对于日志记录看起来只有python logging documentation。这是一个非常容易实现非常灵活的日志记录系统。
关于__init__.py
的问题,如果您来自其他编程语言,请将其视为构造函数。如果您想在加载时分配一些默认值,那么它们应该进入__init__.py
。
我对argparse
不太熟悉,所以其他人可能会对此有所了解。