UnicodeDecodeError: 'gbk' codec can't decode byte 0xb5 in position 61532: illegal multibyte sequence
时间: 2023-09-20 09:14:30 浏览: 56
这个错误通常发生在尝试使用错误的字符编码来解码文件时。在你的情况下,使用的是'gbk'编码,但是文件中包含了无法解码的字节序列。
为了解决这个问题,你可以尝试使用更适合文件编码的字符编码,比如UTF-8。下面是一个示例:
```python
import os
import re
def search_text_in_html_files(directory, search_text):
count = 0
for filename in os.listdir(directory):
if filename.endswith(".html"):
file_path = os.path.join(directory, filename)
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
matches = re.findall(search_text, content)
count += len(matches)
return count
# 示例用法
directory = 'html_files' # HTML文件所在的目录
search_text = '指定的文字'
occurrences = search_text_in_html_files(directory, search_text)
print(f"The text '{search_text}' appears {occurrences} times in the HTML files.")
```
在这个示例中,我们使用`encoding='utf-8'`参数来指定以UTF-8编码打开文件。这通常能够解决UnicodeDecodeError错误。如果文件仍然无法解码,你可以尝试其他常见的字符编码,如'latin-1'或'cp1252'。
请确保文件的实际编码与你指定的字符编码匹配,以正确读取文件内容。
阅读全文