python 写入文件时UnicodeEncodeError: 'gbk' codec can't encode character 'xa0' in pos(

Posted lxai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 写入文件时UnicodeEncodeError: 'gbk' codec can't encode character 'xa0' in pos(相关的知识,希望对你有一定的参考价值。

 

正确代码:

import urllib.request

url = "https://blog.csdn.net/john_bian/article/details/71025372?utm_source=itdadao&utm_medium=referral";

response = urllib.request.Request(url=url,method="GET");

result = urllib.request.urlopen(response);

html = result.read().decode("UTF8");

f = open("x.html","w",encoding="UTF8");
f.write(html);
f.close();

  

1:urllib.request.urlopen(url).read(); 读取的内容默认为bytes格式

2:open(filename,open,encode); 打开文件

 

错误提示:

UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xa0‘ in position 23869: illegal multibyte sequence

  

解决方式:

f = open("x.html","w",encoding="UTF8"); 指定打开文件的编码

或

f = open("x.html","wb")  打开文件为 写入二进制

  

 

对文件操作时 尽量保持所有编码的一致性

以上是关于python 写入文件时UnicodeEncodeError: 'gbk' codec can't encode character 'xa0' in pos(的主要内容,如果未能解决你的问题,请参考以下文章

在写入文件时,如何在 Python 上指定新行?

在使用 python 写入时从日志文件中读取

使用python写文件时,如何做到写入文件由于外力删掉了之后可以新创建一个同名文件并继续写入?

Systemd 服务不会将 python 脚本写入文件,python 脚本在从 cli 执行时名义上运行

使用 python 写入 csv 文件时遇到问题

python 编码