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-benedict。これは、を含む最も一般的な形式の正規化されたI/Oサポートを提供するdictサブクラスです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 に答える