Python3 UnicodeEncodeError:' ascii'编解码器无法编码字符:macOS

时间:2016-10-03 15:21:00

标签: python encoding

这个主题似乎已经涵盖了很多,但我无法使用其他人的帖子中提出的任何解决方案来解决它。所以这里,我尝试在从URL中读取文件之后编写.txt文件,如下所示:

from urllib.request import urlopen
fileobj = urlopen("http://www.gutenberg.org/ebooks/42671.txt.utf-8")
file = open('book.txt', 'w')
for byteseq in fileobj:
    line = byteseq.decode()
    file.write(line)
file.close()
fileobj.close()

然而,我一直在获取UnicodeEncodeError:' ascii'当我尝试打印剥离线时,编解码器无法对IDLE上的字符进行编码。以下是代码:

def function1():
    file = open('coba.txt', 'r')
    for line in file:
        print(line.strip())
    file.close()

调用function1()会给出如下错误消息: 文件" /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/encodings/ascii.py" ;,第26行,解码     return codecs.ascii_decode(input,self.errors)[0] UnicodeDecodeError:' ascii'编解码器不能解码位置0的字节0xef:序数不在范围内(128)

令人困惑的是,当我使用终端并使用python3 file_name.py执行.py文件时,它会打印line.strip(),并且从终端执行idle3也是如此。但是,从App文件夹打开idle3并使用Sublime Text Python 3构建将导致相同的错误消息。

我对实际发生的事情一无所知。任何帮助将不胜感激!

0 个答案:

没有答案