15

我有一个需要使用 Python 修改的 INI 文件。我正在研究该ConfigParser模块,但仍然遇到问题。我的代码是这样的:

config= ConfigParser.RawConfigParser()
config.read('C:\itb\itb\Webcams\AMCap1\amcap.ini')
config.set('Video','Path','C:\itb\itb')

但是在运行此代码后查看amcap.ini文件时,它保持不变。谁能告诉我我做错了什么?

4

2 回答 2

29

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)
于 2012-07-24T18:57:08.267 回答
0

您可以使用python-benedictdict 子类,它为大多数常见格式提供标准化 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

注意:我是这个项目的作者

于 2021-05-04T21:57:32.737 回答