请帮助我,我尝试了很多技术,但我无法让 python 在屏幕上打印 utf-8 符号。
我只需要从 utf-8 编码的标准输入流中读取,计算字符数并在屏幕上打印它们的出现。
这是我的代码:
import re
from collections import Counter
import sys
import codecs
sys.stdin = codecs.getreader('utf-8')(sys.stdin)
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
chars = re.findall(r'.', sys.stdin.read().lower())
counted_chars = Counter(chars).most_common(20)
print counted_chars
我试过这个
reload(sys)
sys.setdefaultencoding('utf-8')
但这不起作用。我经常出现在屏幕上,例如:
(u'\u043e', 90)
并且这些字符(u'\u043e')由于某种原因不会显示为普通字母。
但是,如果我在控制台中执行以下操作:
>>> a = u'\u043e'
>>> print a
一切都很好,我得到了
我究竟做错了什么?请向我解释或指向正确的链接。我已经被搜索了三个多小时,但没有成功解决我的问题。
十分感谢。