有人告诉我这样做是不太好的做法(虽然它出现在 Python pattern for sharing configuration throughout application 的主要答案中):
配置文件.py
SOUNDENABLED = 1
FILEPATH = 'D:\\TEMP\\hello.txt'
主.py
import configfile
if configfile.SOUNDENABLED == 1:
....
f = open(configfile.FILEPATH, 'a')
...
许多人使用 INI 文件进行本地配置的事实证实了这一点 ConfigParser模块或 iniparse或其他类似模块。
问题:为什么使用 INI 文件进行本地配置 + INI 解析器 Python 模块比仅导入 configfile.py 更好?包含正确配置值作为常量的文件?
请您参考如下方法:
这里唯一需要注意的是 .py 可以包含任意 Python 代码,因此它有可能以任意方式破坏您的程序。
如果您相信您的用户会负责任地使用它,那么此设置没有任何问题。事实上,at one of my previous occupations, we were doing just that, without any problems that I'm aware of.恰恰相反:它允许用户通过自动生成重复部分和导入其他配置文件来消除重复。
另一个问题是,如果您有很多文件,配置文件最好与常规代码文件分开,这样用户就知道他们应该能够编辑哪些文件(上面的链接也解决了这个问题)。
