2024-10-02 08:27:46 发布
网友
有人告诉我,这样做不是很好的练习:
SOUNDENABLED = 1 FILEPATH = 'D:\\TEMP\\hello.txt'
许多人使用INI文件对ConfigParser模块或{a2}或其他类似模块进行本地配置,这一点得到了证实。在
{对于一个包含配置的模块,{
这是完全可以接受的做法。使用此方法的一些著名项目的示例是Django和{a2}。在
这里唯一关心的是.py可以有任意的Python代码,因此它有可能以任意方式破坏您的程序。在
.py
如果你可以信任你的用户负责任地使用它,这个设置没有任何问题。如果是事实,at one of my previous occupations, we were doing just that, without any problems that I'm aware of.恰恰相反:它允许用户通过自动生成重复的部件和导入其他配置文件来消除重复。在
另一个问题是,如果您有许多文件,配置文件最好与常规代码文件分开,这样用户就知道他们应该能够编辑哪些文件(上面的链接也解决了这个问题)。在
导入模块将执行它包含的任何代码。没有什么限制您的configfile.py只包含定义。归根结底,这是一个解决安全问题和模糊错误的方法。此外,您还绑定到Python的模块搜索路径以查找配置文件。如果要将配置文件放在其他地方,或者存在名称冲突,该怎么办?在
configfile.py
这是完全可以接受的做法。使用此方法的一些著名项目的示例是Django和{a2}。在
这里唯一关心的是
.py
可以有任意的Python代码,因此它有可能以任意方式破坏您的程序。在如果你可以信任你的用户负责任地使用它,这个设置没有任何问题。如果是事实,at one of my previous occupations, we were doing just that, without any problems that I'm aware of.恰恰相反:它允许用户通过自动生成重复的部件和导入其他配置文件来消除重复。在
另一个问题是,如果您有许多文件,配置文件最好与常规代码文件分开,这样用户就知道他们应该能够编辑哪些文件(上面的链接也解决了这个问题)。在
导入模块将执行它包含的任何代码。没有什么限制您的
configfile.py
只包含定义。归根结底,这是一个解决安全问题和模糊错误的方法。此外,您还绑定到Python的模块搜索路径以查找配置文件。如果要将配置文件放在其他地方,或者存在名称冲突,该怎么办?在相关问题 更多 >
编程相关推荐