Skip to main content
 首页 » 编程设计

python之带有 .py 文件的配置文件

2025年05月04日24mfrbuaa

有人告诉我这样做是不太好的做法(虽然它出现在 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.恰恰相反:它允许用户通过自动生成重复部分和导入其他配置文件来消除重复。

另一个问题是,如果您有很多文件,配置文件最好与常规代码文件分开,这样用户就知道他们应该能够编辑哪些文件(上面的链接也解决了这个问题)。