Python读取文件编码问题

时间:2019-03-19 13:38:55

标签: python encoding utf-8 character-encoding cp1252

当我这样阅读时,一些文件

list_of_files = glob.glob('./*.txt') # create the list of files
for file_name in list_of_files:
    FI = open(file_name, 'r', encoding='cp1252')

错误:

  

UnicodeDecodeError:'charmap'编解码器无法解码位置1260的字节0x9d:字符映射到

当我切换到此

list_of_files = glob.glob('./*.txt') # create the list of files
for file_name in list_of_files:
    FI = open(file_name, 'r', encoding="utf-8")

错误:

  

UnicodeDecodeError:'utf-8'编解码器无法解码位置1459处的字节0x92:无效的起始字节

我已经读过我应该以二进制文件形式打开它。但是我不确定该怎么做。这是我的功能:

def readingAndAddToList():
    list_of_files = glob.glob('./*.txt') # create the list of files
    for file_name in list_of_files:
        FI = open(file_name, 'r', encoding="utf-8")
        stext = textProcessing(FI.read())# split returns a list of words delimited by sequences of whitespace (including tabs, newlines, etc, like re's \s)
        secondaryWord_list = stext.split()
        word_list.extend(secondaryWord_list) # Add words to main list
        print("Lungimea fisierului ",FI.name," este de", len(secondaryWord_list), "caractere")
        sortingAndNumberOfApparitions(secondaryWord_list)
        FI.close()

函数的开始很重要,因为我在阅读部分遇到了错误

1 个答案:

答案 0 :(得分:0)

如果您在Windows上,请在NotePad中打开文件并保存为所需的编码。 在Linux中,在文本编辑器中执行相同的操作。 希望您的程序运行。