完美解决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分割TXT文件成4K的TXT文件
May 23 Python
python动态参数用法实例分析
May 25 Python
Python计算三维矢量幅度的方法
Jun 15 Python
用Python写一个无界面的2048小游戏
May 24 Python
python 函数传参之传值还是传引用的分析
Sep 07 Python
Python实现图片尺寸缩放脚本
Mar 10 Python
python 监测内存和cpu的使用率实例
Nov 28 Python
Python通过4种方式实现进程数据通信
Mar 12 Python
python利用后缀表达式实现计算器功能
Feb 22 Python
python实现三次密码验证的示例
Apr 29 Python
Python音乐爬虫完美绕过反爬
Aug 30 Python
python神经网络学习 使用Keras进行回归运算
May 04 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
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
Python2实现的LED大数字显示效果示例
2017/09/04 Python
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
Django时区详解
2019/07/24 Python
python的常见矩阵运算(小结)
2019/08/07 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
巴西在线鞋店:Shoestock
2017/10/28 全球购物
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
表达自我的市场:Society6
2018/08/01 全球购物
入党思想汇报
2014/01/05 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
幼儿园见习报告
2014/10/30 职场文书
营销经理工作检讨书
2014/11/03 职场文书
2014年环保工作总结
2014/11/26 职场文书
紫日观后感
2015/06/05 职场文书
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis