python—— 写入错误UnicodeEncodeError的解决办法

news/2024/7/19 9:40:34 标签: python, 爬虫

在写python爬虫过程中,有时候吧结果写入到txt文件,但是会遇到UnicodeEncodeError。

 

 

错误原因——

把文件内容,写入到文件中时,出错了。  

而出错的原因其实是,python系统,在使用默认的编码类型,此处的ascii,去将对应的内容,写入到文件中。  但是由于其中一些内容,ascii编码不支持,所以报错。

 

 

 

解决办法——

谷歌、百度后发现解决办法有两个,总结并记录下:

1、

python">import sys
reload(sys)
sys.setdefaultencoding('utf-8')

2、

更好的办法是,在输出的时候,对文件制定特定的UTF-8编码即可。  而无需改动默认编码。  具体做法是:  不使用open打开文件,而使用codecs

import codecs

fp = codecs.open(‘output.txt’, ‘a+’, ‘utf-8’)http://www.qwangxiao.com/t/wenzhang.html

fp.write(row[1])

fp.close() 


http://www.niftyadmin.cn/n/995157.html

相关文章

如何数据整合IBM Tivoli

IBM Tivoli Monitoring是业界领先的管理技术软件,是IBM的IT 服务管理的核心部分。IBM Tivoli Monitoring提供了主机监控、应用监控等基本的网管软件功能。由于很多企业可能拥有多套监控软件,通过Portal整合这些监控软件,提高工作效率&#xf…

强大的ViewDragHelper和ViewDragHelper的妙用 一

文如其名,本篇博文我们将详细介绍强大的ViewDragHelper,但是这次我们将他们分开,本篇我们将完全解析 ViewDragHelper,下一篇我们我们将系统的说明ViewDragHelper的妙用一般情况下,当我们希望我们的UI动起来&#xff08…

springboot 启动类CommandLineRunner(转载)

在Spring boot项目的实际开发中,我们有时需要项目服务启动时加载一些数据或预先完成某些动作。为了解决这样的问题,Spring boot 为我们提供了一个方法:通过实现接口 CommandLineRunner 来实现这样的需求。 实现方式:只需要一个类即…

java自带线程池和队列详细讲解,android中适用

Java线程池使用说明 一简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程…

javascript中的BOM对象

1.window对象 所有的浏览器都支持window对象 概念上讲,一个html文档对应一个window对象 功能上讲,控制浏览器窗口 使用上讲,window对象不需要创建对象,直接使用 2.window对象方法: 2.1 alert() 显示一个带有一段消息和一个确认按钮的警告框 例子: window.alert("hello wor…

Java 内存泄露 与 Reference

在Java中,我们都知道由于GC的存在,程序员几乎可以不用自己回收内存。当一个对象Object被创建时,他会被分配在Heap中,当GC运行的时候, 如果发现没有任何引用指向该Object, 该Object就会被回收以腾出内存空间.;或者换句话…

Servlet对文件的读写操作

(1)怎样在serlvet中读取文件的内容 package com.tsinghua;import java.io.*;import javax.servlet.http.*;public class ServletFileTest1 extends HttpServlet {public void doGet(HttpServletRequest req,HttpServletResponse res){try {//中文乱码res…

listView的几种特殊属性

今天,需要做一个及时通讯的lsitView.原本以为 找一个ListVIew 直接就解决了。可是并不是那么简单. 1.当数据量少的时候 数据在listView的顶部、 2.当数据量多的时候 只显示 listView底部的数据, 3,数据刷新的时候, 数据在listView也需要…