在python 3中打开文件奇怪的错误

1 python

我有一个快速的问题,所以即时通讯尝试在python中编写一些东西来打开一个文件,我在运行它时得到一个奇怪的错误发布下面的错误我的代码包括,但我从来没有见过它,我不知道是什么它的意思是.如果有人有任何想法,我真的很感激它.谢谢 !

def readfile():
    filename = input(str("What is the files name you would like to import "))
    f = open(filename)
    for line in f:
        print(line)
Run Code Online (Sandbox Code Playgroud)

错误

builtins.UnicodeDecodeError:'ascii'编解码器无法解码位置32中的字节0xe2:序数不在范围内(128)

lvc*_*lvc 6

这是一种编码不匹配 - 您正在尝试以ASCII(Python从操作系统设置中检测到的)读取文件,当它以其他方式编码时.您可以在打开时指定编码:

f = open(filename, encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

UTF-8也可能不是正确的编码,但如果您希望该文件主要包含英文单词,那么这可能是一个很好的猜测.理想情况下,如果可以的话,你应该尝试以另一种方式找出文件的编码 - 检查成功打开它的任何程序的设置可以提供帮助,或者如果你在类Unix系统上,file命令可能会告诉你.