我有一个需要使用Python修改的INI文件。我正在调查ConfigParser
模块但仍然遇到问题。我的代码是这样的:
config= ConfigParser.RawConfigParser()
config.read('C:\itb\itb\Webcams\AMCap1\amcap.ini')
config.set('Video','Path','C:\itb\itb')
但是在运行此代码后查看amcap.ini
文件时,它仍未修改。谁能告诉我我做错了什么?
答案 0 :(得分:29)
ConfigParser不会自动写回磁盘上的文件。使用.write()
method表示;它需要一个打开的文件对象作为它的参数。
config= ConfigParser.RawConfigParser()
config.read(r'C:\itb\itb\Webcams\AMCap1\amcap.ini')
config.set('Video','Path',r'C:\itb\itb')
with open(r'C:\itb\itb\Webcams\AMCap1\amcap.ini', 'wb') as configfile:
config.write(configfile)
答案 1 :(得分:0)
您可以使用 python-benedict
,它是一个 dict 子类,可为大多数常见格式(包括 ini
)提供规范化的 I/O 支持。
from benedict import benedict
# path can be a ini string, a filepath or a remote url
path = 'path/to/config.ini'
d = benedict.from_ini(path)
# do stuff with your dict
# ...
# write it back to disk
d.to_ini(filepath=path)
它已经过良好的测试和记录,请查看自述文件以查看所有功能:
https://github.com/fabiocaccamo/python-benedict
使用 pip 安装:pip install python-benedict
注意:我是这个项目的作者