2016-07-04 8 views
0

私はこの内容で設定txtファイルを持っていると仮定すると:私は元の形式を変更せずにファイルに"Red":110"Red":90のような特定の値を変更するにはどうすればよいカスタム設定ファイルの特定の値を更新するにはどうしたらいいですか?

{"Mode":"Classic","Encoding":"UTF-8","Colors":3,"Blue":80,"Red":90,"Green":160,"Shortcuts":[],"protocol":"2.1"} 

私はconfigparserとconfigobjを試してみましたが、.INIファイル用に設計されているので、このカスタム設定ファイルで動作させる方法を理解できませんでした。私も変更したいキーワードの魔法使いの値を検索する行を分割しようとしましたが、前と同じ方法でファイルを保存できませんでした。任意のアイデアをどのようにこれを解決するには?

import json 

obj = json.load(open("/path/to/jsonfile","r")) 
obj["Blue"] = 10 
json.dump(obj,open("/path/to/mynewfile","w")) 

が、JSON形式の辞書が注文を持っていないことに注意してください。これはJSONあなたができるようように見える

答えて

1

(私はPythonで非常に新しいです)。 要素の順序は保証されていません(通常は必要ありません)。jsonリストには順序があります。ここで

+0

これは適切なソリューションです!どうもありがとう! – Alex

0

は、あなたがそれを行うことができます方法は次のとおりです。

import json 

d = {} # store your data here 

with open('config.txt','r') as f: 
    d = json.loads(f.readline()) 

d['Red']=14 
d['Green']=15 
d['Blue']=20 
result = "{\"Mode\":\"%s\",\"Encoding\":\"%s\",\"Colors\":%s,\ 
     \"Blue\":%s,\"Red\":%s,\"Green\":%s,\"Shortcuts\":%s,\ 
     \"protocol\":\"%s\"}"%(d['Mode'],d['Encoding'],d['Colors'], 
           d['Blue'],d['Red'],d['Green'], 
           d['Shortcuts'],d['protocol']) 


with open('config.txt','w') as f: 
    f.write(result) 
    f.close() 

print result 
関連する問題