完美解决Python2操作中文名文件乱码的问题


Posted in Python onJanuary 04, 2017

Python2默认是不支持中文的,一般我们在程序的开头加上#-*-coding:utf-8-*-来解决这个问题,但是在我用open()方法打开文件时,中文名字却显示成了乱码。

我先给大家说说Python中的编码问题,Python中的字符串的大概分为为str和Unicode两种形式,其中str常用的编码类型为utf-8,gb2312,gbk等等,Python使用Unicode作为编码的基础类型。str记录的是字节数组,只是某种编码的存储格式,终于输出到文件或是打印出来是什么格式,完全取决于其解码的编码将他解码成什么样子;Unicode是一种类似于符号集的抽象编码,它只规定了符号的二进制代码,却没有规定这个二进制代码该如何存储,也就是它只是一种内部表示,不能直接保存,所以存储时需要规定一种存储形式,比如utf-8等。

Python中有编码转换的函数有:

decode(char_set) 实现char_set解码成Unicodeencode(char_set) 实现Unicode编码成char_set

 完美解决Python2操作中文名文件乱码的问题

查看Python文档会发现:

open(filename, 'w')这个方法中,filename这个参数必须是Unicode编码的参数。

我之前加上#-*-coding:utf-8-*-将编码设置为utf-8,当调用这个方法往里传参数时,需要将这个变量filename解码成Unicode。

比如filename='中文.txt',使用open()时,这样写open(filename.decode('utf-8'), 'w'),这样创建的中文文件名就没有乱码问题了。

以上就是小编为大家带来的完美解决Python2操作中文名文件乱码的问题全部内容了,希望大家多多支持三水点靠木~

Python 相关文章推荐
Python中除法使用的注意事项
Aug 21 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
利用python实现简单的邮件发送客户端示例
Dec 23 Python
用python简单实现mysql数据同步到ElasticSearch的教程
May 30 Python
Python中垃圾回收和del语句详解
Nov 15 Python
教你如何编写、保存与运行Python程序的方法
Jul 12 Python
Python数学形态学实例分析
Sep 06 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
Python编写一个验证码图片数据标注GUI程序附源码
Dec 09 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
浅谈Django中的QueryDict元素为数组的坑
Mar 31 Python
Python描述数据结构学习之哈夫曼树篇
Sep 07 Python
python去除空格和换行符的实现方法(推荐)
Jan 04 #Python
python去掉行尾的换行符方法
Jan 04 #Python
python对json的相关操作实例详解
Jan 04 #Python
python的random模块及加权随机算法的python实现方法
Jan 04 #Python
python 实现红包随机生成算法的简单实例
Jan 04 #Python
Python 模板引擎的注入问题分析
Jan 01 #Python
python getopt详解及简单实例
Dec 30 #Python
You might like
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
由php if 想到的些问题
2008/03/22 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
javawscript 三级菜单的实现原理
2009/07/01 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
vue指令做滚动加载和监听等
2019/05/26 Javascript
python 中文字符串的处理实现代码
2009/10/25 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
Python中装饰器学习总结
2018/02/10 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
如何获取某个日期是当月的最后一天
2013/12/05 面试题
大二学生职业生涯规划书
2014/02/05 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
暑期学习心得体会
2014/09/02 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
同事欢送会致辞
2015/07/31 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
python cv2图像质量压缩的算法示例
2021/06/04 Python