如何避免编码UTF8错误的问题

2024-06-17 09:51:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我读文本文件有问题。当我启动程序并添加文件时,它会抛出一个错误:

Traceback (most recent call last):
  File "c:/Users/Marcin/Desktop/python/graf_menu.py", line 38, in <module>
    main_func()
  File "c:/Users/Marcin/Desktop/python/graf_menu.py", line 32, in main_func
    read_file()
  File "c:/Users/Marcin/Desktop/python/graf_menu.py", line 15, in read_file
    for i in f.read():
  File "C:\Users\Marcin\AppData\Local\Programs\Python\Python38-32\lib\codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 19: invalid start byte

在我的代码中有一行带有“encoding=“UTF-8”。如何解决此问题。代码如下:

files = input("File name: ")
    try:
        with open(files,"r",encoding="UTF-8") as f:
            for i in f.read():
                print(i,end='')
    except FileNotFoundError:
        print("FileNotFoundError")

Tags: inpyforreadmainlineusersfile
2条回答

程序本身没有问题。出现此错误是因为您试图读取的文件未编码为UTF-8或UTF-8编码。您必须将文件内容转换为UTF-8,或者在对open的调用中指定不同的编码(文件实际使用的编码)

此文件未编码为UTF-8请尝试使用encoded="iso-8859-1"

相关问题 更多 >