2017-01-21 24 views
0

この質問は以前に尋ねられたかもしれませんが、関連する結果は得られません。辞書形式のテストファイルの書き込みと読み込み

設定ファイル(テキストファイル)を作成しています。このファイルは辞書のようなものなので、ユーザーはデータを簡単に変更できます。今は、必要なキーだけを取り出したり、場合によっては新しいキーと値を体系的に追加したいと考えています。

私のテキストファイルは、私が照会時にはPythonを使用してこのファイルを読み込み、キーを返すようにしたい、この

MODULES={ 
    button:C:\Users\Dell\Desktop\hello.py, 
    app1:C:\Users\Dell\Desktop\smarty.py, 
} 

USER={ 
    user1=password, 
    user2=password, 
    user1=password, 
} 

次のようになります。

例えば:

>> MODULES["button"] 
C:\Users\Dell\Desktop\hello.py 
+6

"設定ファイルを作成しています"、なぜjsonを使用しないのですか? –

+1

または:なぜyamlを使用しないのですか?または他の既存の形式ですか? –

+2

@hiro [** 'json' **](https://docs.python.org/2/library/json.html)はすぐにサポートされているので、 –

答えて

3

に最も便利な方法あなたが直面している問題を解決することは、設定ファイルのフォーマットを変更することです。コメント欄で述べたように、JSONはPythonでそのまま利用できます。

したがって、あなたはあなたがファイルを操作するためjsonモジュールを使用することができ、このconfig.json

{  
    "MODULES": { 
      "button": "C:\Users\Dell\Desktop\hello.py", 
      "app1": "C:\Users\Dell\Desktop\smarty.py", 
      } 

    "USER" = { 
      "user1" = password, 
      "user2" = password, 
     } 
} 

のようなものを使用することができます。

import json 

with open('config.json', 'r') as config_file:  
    data = json.load(config_file) 

print(data["MODULES"]["button"]) 
# make some changes to `data` 

with open('config.json', 'w') as config_file:  
    json.dump(data, config_file) 
関連する問題