如何打印非拉丁字母?

时间:2015-08-19 06:49:03

标签: python python-2.7 character-encoding

我有一个简单的脚本parse_dict_pl.py:

# -*- coding: utf-8 -*-

f = open('polish.txt','r')
print "Polish letters: ęóąśłżźćń"
for l in f:
        print l

文件polish.txt包含抛光字母:ęóąśłżźćń
我从Windows命令行运行脚本如下:

python parse_dict_pl.py

结果是:

Polish letters: ęóąśłżźćń
ęóąśłżźćń

如何正确打印脚本中硬编码并从文件加载的抛光字母?

的Pawel

1 个答案:

答案 0 :(得分:0)

尝试:

# -*- coding: utf-8 -*-
from unidecode import unidecode

text = u'ęóąśłżźćń'
result = ''

for i in text:
   try:
     result += i.encode('1252').decode('1252')
   except (UnicodeEncodeError, UnicodeDecodeError):
    result += unidecode(i)

print result

它产生了输出:

eóaslzzcn

您必须安装unidecode库。 从library reference获取 我已经在变量中删除了波兰字母,您可以根据需要进行尝试。希望它能帮到你