我想通过构建字典在大样本中创建字数统计直方图,然后用它们的计数打印最常用的单词,因此基本上打印几个键/值对。
然而,许多单词都不是拉丁字母,所以我做了:
try:
print key, word_dict[key]
except:
print key.encode('utf-8'), word_dict[key],
当结果直接打印到命令行界面时,非拉丁字母单词只是不可读,但键/值顺序是保持不变的。
但是,当我将结果打印到.txt文件中时,阿拉伯语单词是可读的,与这些单词对应的键/值对似乎以相反的顺序打印:值/键。但是,中文字符是打印机的正确顺序:键/值。
所以我想知道是.txt所以"聪明"它识别阿拉伯语并以从右到左的顺序打印?而且,我能做些什么来维持我想要的键/值的顺序?
答案 0 :(得分:1)
当结果直接打印到命令行界面时, 非拉丁字母词是不可读的
这可能是因为您的终端/ cmd_window未设置为utf-8
,您可以在窗口的设置/偏好设置中进行更改。
但是,当我将结果打印到.txt文件中时,阿拉伯语单词就是 可读,
打开文本文件的程序有一个设置,告诉它将保存在磁盘上的字节解释为utf-8
。