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)
这是一种编码不匹配 - 您正在尝试以ASCII(Python从操作系统设置中检测到的)读取文件,当它以其他方式编码时.您可以在打开时指定编码:
f = open(filename, encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)
UTF-8也可能不是正确的编码,但如果您希望该文件主要包含英文单词,那么这可能是一个很好的猜测.理想情况下,如果可以的话,你应该尝试以另一种方式找出文件的编码 - 检查成功打开它的任何程序的设置可以提供帮助,或者如果你在类Unix系统上,file命令可能会告诉你.