gpt4 book ai didi

python - 'utf- 8' codec can' t 解码字节 0xe2 : invalid continuation byte error

转载 作者:行者123 更新时间:2023-12-03 09:48:12 28 4
gpt4 key购买 nike

我正在尝试从文件夹中读取所有 PDF 文件以使用正则表达式查找数字。经过检查,PDF 的字符集是“UTF-8”。

抛出这个错误:

'utf-8' codec can't decode byte 0xe2 in position 10: invalid continuation byte



尝试以二进制模式阅读,
尝试了 Latin-1 编码,但它显示了所有特殊字符,因此搜索中没有显示任何内容。
import os
import re
import pandas as pd
download_file_path = "C:\\Users\\...\\..\\"
for file_name in os.listdir(download_file_path):
try:
with open(download_file_path + file_name, 'r',encoding="UTF-8") as f:
s = f.read()
re_api = re.compile("API No\.\:\n(.*)")
api = re_api.search(s).group(1).split('"')[0].strip()
print(api)
except Exception as e:
print(e)

期望从 PDF 文件中找到 API 编号

最佳答案

PDF 文件以字节形式存储。
因此,要读取或写入 PDF 文件,您需要使用 rbwb .

with open(file, 'rb') as fopen:
q = fopen.read()
print(q.decode())
'utf-8' codec can't decode byte 0xe2 in position 10: invalid continuation byte可能是因为 your editor或者 PDF 不是 utf 编码的(通常)。

因此使用,
with open(file, 'rb') as fopen:
q = fopen.read()
print(q.decode('latin-1')) #or any encoding which is suitable here.

如果您的 editor console不兼容,那么您也将看不到任何输出。

A 注意 : 你不能使用 encoding使用 rb 时的参数所以你必须在阅读文件后解码。

关于python - 'utf- 8' codec can' t 解码字节 0xe2 : invalid continuation byte error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56453782/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com