运行以上程序出现UnicodeDecodeError: 'gbk' codec can't decode byte 0xb3 in position 13: illegal multibyte sequence
时间: 2023-08-10 11:02:32 浏览: 44
这个错误是由于在使用`open()`函数读取文件时,默认使用的编码方式是GBK,而文件内容可能包含非GBK编码的字符导致的。您可以通过指定正确的编码方式来解决这个问题。例如,如果您的Markdown文件是使用UTF-8编码保存的,您可以使用`encoding='utf-8'`参数来指定编码方式。以下是修改后的示例代码:
```python
import datetime
# 获取当前时间戳
current_timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# 读取Markdown文件,指定编码方式为UTF-8
with open("input.md", "r", encoding="utf-8") as file:
markdown = file.read()
# 在指定位置插入时间戳
insert_position = markdown.find("<!-- 时间戳 -->")
if insert_position != -1:
markdown = markdown[:insert_position] + current_timestamp + markdown[insert_position:]
# 将带有时间戳的Markdown保存到文件中
with open("output.md", "w", encoding="utf-8") as file:
file.write(markdown)
```
请根据您的Markdown文件实际的编码方式进行相应的修改。如果您不确定文件的编码方式,可以尝试使用常见的编码方式,如UTF-8、GBK等来进行尝试。