How to save application settings in a config file?
我正在开发一个具有设置窗口的程序,在该窗口中我可以更改程序的各种参数。在某种配置文件中读取/保存它们的最佳方法是什么?我知道有些软件和游戏使用.ini文件或类似的系统。如何在Python中实现这一点?
- 最好的方法可能是XML。
- @引擎,这真的从来都不是真的。
- configparser很简单,在标准库中就可以实现。
- 您可以使用python作为设置文件的语言。
- @exp尽管这总是增加了恶意配置文件的可能性——不管这是不是一个好主意,根据具体情况会有很大的不同。
- 类似于这个问题,它有一些非常有用的答案:stackoverflow.com/questions/5055042/…
- 替代ConfigParser的方法是使用michael food提供的名为configobj的voidspace python模块。在他写的一篇题为《Configobj简介》的文章中,你可以看到Configobj的优点,以及你为什么想要这样做。
- 还要注意(不同的)接受回答我的一个被标记为这个问题的副本的问题。
python标准库包括ConfigParser模块,它为您处理ini样式的配置文件。它对大多数用途来说都是足够的。
- 注意,在3.x中,它被重命名为configparser。
- configparser对我很有魅力。谢谢您!
配置文件的另一个流行的选项是JSON——它是一个简单的符号,可以从各种语言中得到很好的支持。
python在标准库中有json模块,这使得它非常简单。
由于在您的问题中引入了术语config文件,所以前面的回答集中在创建纯文本文件的方法上,也可以使用标准文本编辑器来操作纯文本文件。根据要存储的设置类型,可能不需要这样做,因为至少在读回配置文件后,它需要严格的合理性检查。因此,我添加了Shelves模块的建议,这是使信息在文件中持久化的直接方法。
- 值得注意的是,在绝大多数情况下,二进制配置文件被认为是一个坏主意——这样最终用户很难使用它们。