在模块之间共享设置的正确方法

时间:2012-04-17 01:32:37

标签: python

我有一个包含10个不同python文件的项目。它有类和功能 - 非常多。 我确实希望共享代表项目中所有项目文件之间设置的特定数据。

我想出了一个settings.py文件:

settings = {}
settings['max_bitrate'] = 160000
settings['dl_dir'] = r"C:\Downloads"

然后我从每个文件中导入该类。

有更合适的方法吗?

2 个答案:

答案 0 :(得分:4)

我可能在这方面有点老派,但在我的最新项目中,我在/etc创建了一个配置文件,然后创建了一个使用ConfigParserconfig模块读取它并使其可用,并将config模块导入我需要读取设置的任何位置。

答案 1 :(得分:1)

您的方法听起来不错,并且具有以下优点:您可以轻松更改设置模块的实现,例如使用配置文件或Windows注册表,或提供只读API。