完美解决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中的字典遍历备忘
Jan 17 Python
Python实现遍历数据库并获取key的值
May 17 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
在python中使用正则表达式查找可嵌套字符串组
Oct 24 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
Jun 01 Python
python根据文章标题内容自动生成摘要的实例
Feb 21 Python
Python实现字典按key或者value进行排序操作示例【sorted】
May 03 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 Python
python+adb+monkey实现Rom稳定性测试详解
Apr 23 Python
Pycharm连接远程服务器过程图解
Apr 30 Python
解决运行出现'dict' object has no attribute 'has_key'问题
Jul 15 Python
Python 如何定义匿名或内联函数
Aug 01 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
投票管理程序
2006/10/09 PHP
浅析PHP水印技术
2007/02/14 PHP
php经典算法集锦
2015/11/14 PHP
Yii实现简单分页的方法
2016/04/29 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
理解Koa2中的async&await的用法
2018/02/05 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
微信小程序实现简单评论功能
2018/11/28 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
python图形绘制奥运五环实例讲解
2019/09/14 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
浅析python 通⽤爬⾍和聚焦爬⾍
2020/09/28 Python
python中实现栈的三种方法
2020/12/19 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
工业自动化专业毕业生推荐信
2013/11/18 职场文书
大学生学习自我评价
2014/01/13 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
交通事故协议书范本
2014/11/18 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL