2017-04-07 10 views
0

を実行します独自のスクリプトは:Pythonは私がスクリプト内で生成された辞書を持っている

dict2 = {'a': 5, 'b': 3, 'c':2} 
dict3 = {'a': 2, 'b': 1, 'c':0} 

私の計画は、その後、同じキーで値を追加し、個別のファイルにこれらを追加することでした(例えば「A」に1つのエントリ:8)ファイルはすべての辞書が付加された後。

ディクショナリの値をファイルに追加する方法はありますか?または、これを行う別の方法では、各スクリプトの完了時に値が追加されますか?

編集:私はコーディングに新しく、できればゆっくりとはっきりと説明してください。 :)

+0

単一の 'dict0'を持ち、すべてのファイルに対して' dict0 ['a'] + = some_value'を呼び出すだけで何が問題になりますか? – Julien

+0

おそらく[this](https://docs.python.org/3/library/shelve.html)が役に立ちますか? –

+0

これらのファイルは並行して実行されますか?それらを実行するマスタープログラムはありますか?このプログラムが連続してのみ実行される場合、または複数のファイルにデータを書き込むことができます( 'tempfile.mkstemp'がそれを助けるかもしれません)。より重いエレベーターは良い環境ですが、現在の値を把握するためにmap-reduceジョブを使用する 'couchdb'や' mongodb'があります。 – tdelaney

答えて

0

私は、既存のファイルに新しい生成された辞書値を追加したかったのです。

たとえば、dict 1はすでにファイル内に存在しています。私は、ファイルになど辞書2、辞書3を、追加するには

with open(file.txt, "w") as f: 
     for i in dict.keys(): 
      f.write(i + " " + str(dict[i]) + "\n") 

でこれをやった: 私はdict1を持っていた

for line in f: 
      values = line.split(sep) 
      dict[values[0]] = int(values[1]) 

で辞書にそれを再書いfile.txtをしましたその後、プログラム内に2つの辞書を追加し、新しい辞書をファイルに書き戻しました。

おそらく最もエレガントな答えではありませんが、機能します。

関連する問題