完美解决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编写屏幕截图程序方法
Feb 18 Python
Python 爬虫学习笔记之单线程爬虫
Sep 21 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Python之多线程爬虫抓取网页图片的示例代码
Jan 10 Python
基于DataFrame筛选数据与loc的用法详解
May 18 Python
python opencv实现图片旋转矩形分割
Jul 26 Python
对python 读取线的shp文件实例详解
Dec 22 Python
Python数据可视化教程之Matplotlib实现各种图表实例
Jan 13 Python
在自动化中用python实现键盘操作的方法详解
Jul 19 Python
django 类视图的使用方法详解
Jul 24 Python
python多进程并发demo实例解析
Dec 13 Python
pytorch中图像的数据格式实例
Feb 11 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程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
在python中用url_for构造URL的方法
2019/07/25 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
基于keras 模型、结构、权重保存的实现
2020/01/24 Python
Tensorflow累加的实现案例
2020/02/05 Python
Python库安装速度过慢解决方案
2020/07/14 Python
用 Django 开发一个 Python Web API的方法步骤
2020/12/03 Python
纽约手袋品牌:KARA
2018/03/18 全球购物
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
新驾驶员个人自我评价
2014/01/03 职场文书
迟到检讨书500字
2014/02/05 职场文书
教师节演讲稿
2014/05/06 职场文书
授权收款委托书范本
2014/10/10 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
公司转让协议书
2016/03/19 职场文书