繁体   English   中英

在PyCharm中读取UTF8编码文件

[英]Reading UTF8 Encoded File in PyCharm

我正在尝试读取2个文本文件,其中一个以UTF8编码。 我在PyCharm中使用Python 3。

2个文件中的示例:

1.
its group are in Spain .
its group are in Antarctica .
2.
sus grupos estan en España .
sus grupos estan en Antártida .

在命令行中,我使用:

paste -d "\n" hw5-tiny.en tiny.es | python3 ibm.py

将文件读入sys.stdin。

在我的代码中,我使用以下内容读取粘贴的文件:

#!/usr/bin/env python
#coding=utf8
import itertools
import sys

for fgn_sent,eng_sent in itertools.zip_longest(*[sys.stdin]*2):
   print(fgn_sent)

然后我得到错误:

Traceback (most recent call last):
  File "ibm0.py", line 33, in <module>
    initialize_probabilities()
  File "ibm0.py", line 13, in initialize_probabilities
    for fgn_sent,eng_sent in itertools.zip_longest(*[sys.stdin]*2):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 863: ordinal not in range(128)

第13行是上方for...行的行。

这篇文章回答了我的问题: 如何在Python 3中设置sys.stdout编码?

我在命令行中添加了PYTHONIOENCODING=utf-8:surrogateescape1

paste -d "\n" tiny.en tiny.es | PYTHONIOENCODING=utf-8:surrogateescape python3 ibm0.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM