通过文本文件运行单词并计算它们的麻烦

时间:2016-03-26 08:53:20

标签: file python-3.x

Python 3 +

这是我得到的错误 This is the error i get

这是我的代码 This is my code

我希望用户输入一些单词,然后程序应该通过我的两个文本文件运行每个单词,如果其中任何一个单词存在,我希望程序将+1加到正/负计数列表中。

感谢您的帮助:)

2 个答案:

答案 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_countnegative_count应该是整数而不是列表。如果你想计算,在列表中添加1并不是你想要实现的目标。

其次,UnicodeDecodeError存在,因为底层文件的编码不是utf-8。您尝试utf-16还是utf-16-le?如果您使用Windows,utf-16-le可能是使用的编码,除非您使用代码点,在这种情况下猜测将是一场噩梦。