-2

.ini ファイルを変更するには? 私のiniファイルは次のようになります。そして、フォーマット セクションの ini を次のように変更したい [スペースをタブに置き換え、その後に $] Format="[%TimeStamp%] $(%ThreadID%) $<%Tag%> $%_%"

[Sink:2]

Destination=TextFile
FileName=/usr/Desktop/A.log
RotationSize=5000000
MaxSize=50000000
MinFreeSpace=10000000
AutoFlush=true
Format="[%TimeStamp%] (%ThreadID%) <%Tag%> %_%"
Filter="%Severity% >= 0"

これは私が書いたものです

import ConfigParser
config = ConfigParser.RawConfigParser()
config.read('/usr/local/ZA/var/loggingSettings.ini')
format = config.get('Sink:2', 'Format')
tokens = "\t$".join(format.split())
print format
print tokens
config.set('Sink:2', 'Format', tokens)
newformat = config.get('Sink:2', 'Format')
print newformat

そして、出力はまさに私が望んでいたものです.しかし、.ini ファイルを開くと、ここに変更はありませんか? メモリからロードしているセクションをもう一度読んだときでしょうか?変更を永続的にするにはどうすればよいですか

4

1 に答える 1

0

writeメソッドを使用してみてください。

with open('myconfig.ini', 'w') as f:    
    config.write(f)

設定を読み込んだときにconfig.read('myconfig.ini')、ファイルをそのまま「保存」しました。今、あなたがしたいのは内容を変更することです。

# Get a config object
config = RawConfigParser()
# Read the file 'myconfig.ini'
config.read('myconfig.ini')
# Read the value from section 'Orange', option 'Segue'
someVal = config.get('Orange', 'Segue')
# If the value is 'Sword'...
if someVal == 'Sword':
    # Then we set the value to 'Llama'
    config.set('Orange', 'Segue', 'Llama')
# Rewrite the configuration to the .ini file
with open('myconfig.ini', 'w') as myconfig:
    config.write(myconfig)
于 2013-03-07T14:44:52.633 に答える