python写入文件后中文乱码
  NnnTmu8BCWC1 2023年11月02日 294 0

🎈问题描述

有问题的代码:
from urllib.request import urlopen

url = "http://www.baidu.com"
resp = urlopen(url)

resp_1 = resp.read().decode("UTF-8")

with open("mybaidu.html", mode="w") as f:
    f.write(resp_1)
print("over!")
问题代码运行后,文件中的内容:

python写入文件后中文乱码_写入文件

运行乱码的mybaidu.html,如图:

python写入文件后中文乱码_中文乱码_02


🎈解决方法

关键点①:确定是哪一步导致了问题

关键点②:修改Python打开文件的编码(encoding="utf-8")

正确的代码:
from urllib.request import urlopen

url = "http://www.baidu.com"
resp = urlopen(url)

resp_1 = resp.read().decode("UTF-8")

with open("mybaidu.html", mode="w", encoding="utf-8") as f:
    f.write(resp_1)
print("over!")
正确代码运行后,文件中的内容:

python写入文件后中文乱码_写入文件_03

运行正确的mybaidu.html,如图:

python写入文件后中文乱码_写入文件_04

🎈探索过程

关键点①:确定是哪一步出现的问题

关键点②:修改Python打开文件的编码(encoding="utf-8")

1、尝试修改编码方式,gbk、UTF-8、GB312等常用的几个都尝试了,不管用;

2、直接将未写入文件之前的内容打印出来时,发现此时中文正常显示

这就说明是‘写入’这个环节或‘写入之后的步骤’有问题

3、搜索关键词“爬虫写入文件后中文乱码”,事实证明,站在大佬们的肩膀上看世界是很有效率的!!!

🎈参考文章

1、python 爬虫写入文件中文乱码问题解决https://blog.csdn.net/helloexp/article/details/95757243



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  1BVmdlLr07sm   2023年11月30日   73   0   0 HTMLcss
NnnTmu8BCWC1
最新推荐 更多