0
Unicodeテキストを持つログファイルを読み込もうとしましたが、韓国語のエンコードされた文字列は印刷できませんでした。私は何が間違っていたのか分かりますPythonはテキストファイル内でUnicodeを認識しません
次のようにコードがある:
# -*- coding: utf-8 -*-
import yaml
path = "./mylog.log"
mylog = open(path, "r")
for i in mylog:
message = i.split("app[web.1]:")[1]
message = yaml.load(message) # text -> dict
print message
mytext = message["u'content'"]
print mytext.encode('utf-8')
print isinstance(mytext, unicode)
コードの結果は以下の通り
{"u'content'": "u'\\uc131\\uacfc'", "u'type'": "u'text'", "u'user_key'": "u'ADAgPNQ04'"}
u'\uc131\uacfc'
偽
{"u'content'": "u'\\uc131\\uacfc'", "u'type'": "u'text'", "u'user_key'": "u'ADAgPNQ04'"}
u'\uc131\uacfc
' 偽
In[1]: text = u'\uc131\uacfc'
In[2]: print text
성과#韓国語
mylog.log:私のテキストがUnicodeとして認識されていなかったようです、
私はPythonのコンソールに似たコードを実行すると、私は正しい結果を得ました:
2016-11-22T07:35:30.197270+00:00 app[web.1]: {u'content': u'\uc131\uacfc', u'user_key': u'ADAgPNQ04', u'type': u'text'}
2016-11-22T09:55:09.994257+00:00 app[web.1]: {u'content': u'\uc131\uacfc', u'user_key': u'ADAgPNQ04', u'type': u'text'}