我有一个需要使用 Python 修改的 INI 文件。我正在研究该ConfigParser
模块,但仍然遇到问题。我的代码是这样的:
config= ConfigParser.RawConfigParser()
config.read('C:\itb\itb\Webcams\AMCap1\amcap.ini')
config.set('Video','Path','C:\itb\itb')
但是在运行此代码后查看amcap.ini
文件时,它保持不变。谁能告诉我我做错了什么?
我有一个需要使用 Python 修改的 INI 文件。我正在研究该ConfigParser
模块,但仍然遇到问题。我的代码是这样的:
config= ConfigParser.RawConfigParser()
config.read('C:\itb\itb\Webcams\AMCap1\amcap.ini')
config.set('Video','Path','C:\itb\itb')
但是在运行此代码后查看amcap.ini
文件时,它保持不变。谁能告诉我我做错了什么?
ConfigParser 不会自动写回磁盘上的文件。使用该.write()
方法;它需要一个打开的文件对象作为它的参数。
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)
您可以使用python-benedict
dict 子类,它为大多数常见格式提供标准化 I/O 支持,包括ini
.
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)
它经过了很好的测试和记录,请查看 README 以查看所有功能:
https://github.com/fabiocaccamo/python-benedict
使用 pip 安装:pip install python-benedict
注意:我是这个项目的作者