2017-04-15 17 views
1

json.dumpを使用してファイルに辞書を書き込むことができません。その理由は、ヘブライ語の文字が含まれていて、そのファイルには英語の文字が含まれているだけです。ファイルに辞書を書く

import codecs 

if __name__ == '__main__': 
    k = dict() 
    k['tony ta'] = 4 
    k['tt '] = 5 
    l = list(k) 
    with codecs.open('text.txt', 'w', 'utf-8') as f: 
     for i in range (0, len(l)): 
      f.write('\n'+(l[i]) + ' ' + str(k[l[i]])) 

コーデックを使用すると、正しくコーディングして結果を得ることができます。このデモでは、openを使用しています。これを行うより便利な方法がありますか?

TEXT.TXT 4
TT 5

任意のより良い方法ではなく、値を見つけるために、リストに私の辞書をオンにして、辞書にアクセスすることtaの
トニー?

答えて

1

辞書をリストに変換する代わりに、それを文字列に変換してから文字列演算を行った。これを「より良い」または「より便利な」方法とみなすかどうかはわかりません。

import codecs 
import re 

if __name__ == '__main__': 
    k = dict() 
    k['tony ta'] = 4 
    k['tt '] = 5 
    with codecs.open('text.txt', 'w', 'utf-8') as f: 
     f.write(re.sub(r"[{}:']",'',str(k).replace(', ','\n'))) 
1

あなたが使用できます。

with codecs.open('text.txt', 'w', 'utf-8') as f: 
    for key in k: 
     f.write("%s %s\n", key, str(k[key]))