Python 3 +
这是我得到的错误
这是我的代码
我希望用户输入一些单词,然后程序应该通过我的两个文本文件运行每个单词,如果其中任何一个单词存在,我希望程序将+1加到正/负计数列表中。
感谢您的帮助:)
答案 0 :(得分:1)
在尝试打开wordlist函数中的一个输入文件时,似乎偶然发现了一个Decoding错误。通常很难确定用于特定文件的编码。所以你可以:
1.尝试使用不同的编码打开文件,例如ISO-8859-15等。
def OpenFile():
try:
with open("My File.txt",mode="r",encoding="IS0-8859-15")
#do process My File
except UnicodeDecodeError:
print("Something went Wrong Try a different file encoding")
else:
#everything was okay, return the required
finally:
# clean up here
2。查看模块,尝试并确定文件的正确编码,例如chardet模块 安装 chardet模块:
sudo pip3 install chardet
您可以在命令行运行它,并将您的文件作为Argument来确定编码
cd /path/to/File/
chardetect My\ File.txt
这应该返回给定文件的可能编码
3.您可以在python代码中使用chardet模块,但是如果您要打开一个您无权访问的文件,例如在想要打开另一个指定文件的客户端计算机上,建议使用此模块 并重新打开同一个文件并重新检测编码将导致您的程序运行缓慢。
答案 1 :(得分:0)
首先,positive_count
和negative_count
应该是整数而不是列表。如果你想计算,在列表中添加1并不是你想要实现的目标。
其次,UnicodeDecodeError
存在,因为底层文件的编码不是utf-8
。您尝试utf-16
还是utf-16-le
?如果您使用Windows,utf-16-le
可能是使用的编码,除非您使用代码点,在这种情况下猜测将是一场噩梦。