如何使用 ConfigObj 附加到现有配置文件?



我正在尝试使用ConfigObj来写入带有函数的配置文件。

#!/usr/bin/evn python3.5
import configobj
def createConfig(path):
config = configobj.ConfigObj()
config.filename = path
config[REFNAME] = {}
config[REFNAME]['URL'] = URL
config.write()
REFNAME = input("Enter a reference name :")
URL= input("Enter a URL :")
createConfig('server.ini')

但是,当调用函数createConfig()时,将写入配置文件,如果脚本再次运行,则会覆盖之前创建的配置文件。我想保留以前的整个内容,只添加到文件中,或者在提供相同REFNAME时覆盖。

我无法从文档中理解如何执行此操作:

https://configobj.readthedocs.io/en/latest/configobj.html

任何帮助将不胜感激。

如果将设置文件的路径与create_empty=True参数一起传递给ConfigObj()初始值设定项,则仅当该文件尚不存在时,它才会创建一个空文件,从而允许更新任何现有文件。

这在文档的 ConfigObj 规范部分中进行了说明,其中描述了该方法接受的关键字参数。

import configobj
def createConfig(path):
config = configobj.ConfigObj(path, create_empty=True)
config[REFNAME] = {}
config[REFNAME]['URL'] = URL
config.write()
REFNAME = input("Enter a reference name: ")
URL= input("Enter a URL: ")
createConfig('server.ini')

请注意,您可能希望将函数的名称更改为openConfig(),因为这就是它现在的功能。

最新更新