Pythonの最も簡単な解決リストには、中国語ではなくUNICodeだけを印刷する方法があります.
963 ワード
答えはjsonモジュールです
例:
フォーマット変換が行われていない場合は、次のように出力されます.
>>>[{u'\u663e\u793a': [u'python', u'\u8bd5\u9a8c'], u'\u6570\u91cf': 22, u'\u8bed\u8a00': u'python'}]
>>表示
非リストのデータは出力時に中国語に変換されて表示されますが、リストのunicodeデータは表示されません.
変換後、次のように出力されます.
>>>[{"表示":["python","試験"],"数":22,"言語":"python"}]
このような出力が所望のフォーマットであれば、既存のjsonモジュールを用いて元のリストフォーマットをjson文字列出力に変換し、符号化フォーマットを設定すればよい.
また、この部分で表示するデータを使用する必要がある場合、例えば、後でpythonでlogファイルのこのような便利に見える中国語付きの偽リストを直接読み取りたい場合は、jsonを使用します.loadsを変換すればいいです.
例:
import json
data=[{u'\u663e\u793a': [u'python', u'\u8bd5\u9a8c'], u'\u6570\u91cf': 22, u'\u8bed\u8a00': u'python'}]
data_c = u'\u663e\u793a'
print data
print data_c
res_data=json.dumps(data,ensure_ascii=False,encoding="gb2312")
print res_data
フォーマット変換が行われていない場合は、次のように出力されます.
>>>[{u'\u663e\u793a': [u'python', u'\u8bd5\u9a8c'], u'\u6570\u91cf': 22, u'\u8bed\u8a00': u'python'}]
>>表示
非リストのデータは出力時に中国語に変換されて表示されますが、リストのunicodeデータは表示されません.
変換後、次のように出力されます.
>>>[{"表示":["python","試験"],"数":22,"言語":"python"}]
このような出力が所望のフォーマットであれば、既存のjsonモジュールを用いて元のリストフォーマットをjson文字列出力に変換し、符号化フォーマットを設定すればよい.
また、この部分で表示するデータを使用する必要がある場合、例えば、後でpythonでlogファイルのこのような便利に見える中国語付きの偽リストを直接読み取りたい場合は、jsonを使用します.loadsを変換すればいいです.