博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python脚本重定向其输出时的编码问题
阅读量:4539 次
发布时间:2019-06-08

本文共 552 字,大约阅读时间需要 1 分钟。

python有一个比较烦的问题是,同一段程序,里面有print语句,直接运行时没有问题,一旦将其输出设了个重定向,这个脚本就不正常了,报告UnicodeEncodeError
究其原因,是Python感知到输出到控制台时,会从控制台取当前编码;而重定向后Python程序无法得知写那个文件该用哪个编码(不过为啥不用控制台的 值?), 缺省就用了ascii (准确地说,是系统缺省编码
sys.getdefaultencoding(),可以在sitecustomize模块里修改。而python3将缺省编 码改为utf-8了) 。
解决办法有两个:
 
一个是刚才提到的修改sitecustomize模块(缺省不存在,特意留给用户定制的),在里面调用
sys.setdefaultcoding('xxxx')——这个函数python在import site之后就没有了,应用程序的python代码里是没法调的
方法二是shell里设置环境变量
PYTHONIOENCODING,设成utf_8或者gbk都可以(只要字符集够)

转载于:https://www.cnblogs.com/bamanzi/archive/2012/08/16/python-encoding-when-redirection.html

你可能感兴趣的文章
[bzoj2510]弱题 (循环矩阵优化dp)
查看>>
Django Form 的主要内置字段介绍
查看>>
如何写好一个UITableView
查看>>
XML文件生成C++代码(基于rapidxml)
查看>>
写代码,更需要设计代码
查看>>
iOS:修改项目名
查看>>
SpringCloud-Eureka
查看>>
double在输出为字符串的几种方法效率测试
查看>>
ArcGIS API for JavaScript 4.2学习笔记[14] 弹窗的位置、为弹窗添加元素
查看>>
电路基础
查看>>
jquery 对象与DOM对象转换
查看>>
DELPHI 调用系统 ADO 配置窗体 提高软件易用性
查看>>
Mongodb 命令及 PyMongo 库的使用
查看>>
div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法(非原创)
查看>>
关于SDWebImage加载高清图片导致app崩溃的问题
查看>>
如何查看方法在哪里被调用
查看>>
HUE的自动化安装部署
查看>>
图片服务器(FastDFS)的搭建
查看>>
myBatis应用
查看>>
RuntimeError: DataLoader worker (pid 18255) is killed by signal: Killed.
查看>>