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

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行,解码返回codecs.ascii_decode(输入,self.errors)[0] UnicodeDecodeError:'ascii'编解码器无法解码位置0的字节0xef:序数不在范围内(128)

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

对于实际发生的事情,我无能为力 . 任何帮助将不胜感激!