我正在编写一个 Python 模块,它只有大约 20 个有趣的类型和全局方法,但是有很多常量和异常(大约 70 个语言环境常量、60 个编码常量、20 个格式化属性、200 多个异常等等)。因此help()
,该模块产生了大约 16,000 行文本,并且对每个异常都有几乎相同的描述。常量的要求并不高,但仍然很难驾驭它们。
组织这样一个模块的pythonic方法是什么?保持原样并依赖其他文档?将常量移动到单独的字典中?进入子模块?在适当的地方将它们添加为类级常量?
请注意,这是一个 C 扩展,因此我无法在此处轻松添加真正的子模块。我听说这sys.modules
并没有真正检查对象是否有模块,所以可以在那里添加字典;这样我就可以在导入模块时创建mymodule.locales
,mymodule.encoding
和mymodule.exceptions
添加它们。sys.modules
这是一个好主意还是太老套了?