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

查看Python文档会发现:

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

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

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

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

python中文名字-完美解决Python2操作中文名文件乱码的问题相关推荐

  1. python2中文字符串遍历乱码_完美解决Python2操作中文名文件乱码的问题

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

  2. 【CKFinder】解决上传中文名文件乱码和文件重命名的问题

    在Windows Server 2003的服务器平台上,用CKFinder上传中文文件名的文件,上传后,文件名变成了乱码,导致文件链接找不到. 上传中文名文件乱码问题 在ckfinder/config ...

  3. python读excel乱码_解决Python2.7读写文件中的中文乱码问题

    Python2.7对于中文编码的问题处理的并不好,这几天在爬数据的时候经常会遇到中文的编码问题.但是本人对编码原理不了解,也没时间深究其中的原理.在此仅从应用的角度做一下总结, 1.设置默认编码 在P ...

  4. 用 Anaconda 完美解决 Python2 和 python3 共存问题

    转自:https://foofish.net/compatible-py2-and-py3.html Python3 被越来越多的开发者所接受,同时让人尴尬的是很多遗留的老系统依旧运行在 Python ...

  5. android ppt 转图片显示不全,PPT转PDF图片显示不全怎么办?如何完美解决PPT转PDF文件?...

    原标题:PPT转PDF图片显示不全怎么办?如何完美解决PPT转PDF文件? 记得以前上学的时候,我们班级每周都会做一次小组作业汇报.每一个小组都会准备一个PPT来进行展示演讲,可是有的同学的PPT在老 ...

  6. 解决中文Windows系统下解压日语名文件乱码

    在日本经常使用zip或者lha格式的压缩包,在中文系统下解压时,如果压缩包里的文件是日语名,虽然能正常解压,但是解出的文件会变成乱码.这实际上是日语系统使用Shift-JIS编码,在中文系统下解压时按 ...

  7. 解决java以UTF-8输出中文时,Excel打开多语言文件乱码但是记事本打开却正常的问题

    解决java以UTF-8输出中文时,Excel打开多语言文件乱码但是记事本打开却正常的问题 public static boolean exportCsv(File file, List dataLi ...

  8. fopen php 乱码,如何解决php fgets读取文件乱码的问题

    如何解决php fgets读取文件乱码的问题,文件,乱码,简体中文,记事本,页面 如何解决php fgets读取文件乱码的问题 易采站长站,站长之家为您整理了如何解决php fgets读取文件乱码的问 ...

  9. python画图显示不了中文_完美解决Python matplotlib绘图时汉字显示不正常的问题

    Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下: 1.在python安装目录的Lib目录下创建ch.py文件. 文件中代码为: 保存,以后通过 ...

最新文章

  1. 错误提示[__NSArrayI addObjectsFromArray:]: unrecognized selector的原因和解决方法
  2. 三维重建:SLAM算法的考题总结
  3. scrapyd部署_第八章 第一节 scrapyd和scrapy-client
  4. 《Go 语言程序设计》读书笔记 (七) Goroutine 与系统线程的区别
  5. Springboot整合netty实战
  6. 【Windows系统】-- 远程桌面时,WIN键被锁定
  7. windows vs编译环境 python_Python虚拟环境使用(Windows)
  8. HDU2072 单词数(解法二)【废除!!!】
  9. URLLoader 类和 URLVariables 类
  10. stm32采集交流电压信号_基于STM32的多路电压采集的设计与实现
  11. 屏幕录像专家录制超清视频教程如何解决转码后不清晰问题
  12. UFS Hibernate介绍--代码部分
  13. k8s pod 污点
  14. 西部世界IPFS科普:什么是非对称加密?
  15. 计算机软件实习每日学习打卡(5)20201218
  16. 调节笔记本外接显示器亮度
  17. shell if/then/elif/else/fi
  18. 【Android系列1.0 驱动开发 --- Linux 驱动 内核】
  19. 为什么我爱Golang
  20. ORACLE PL/SQL编程

热门文章

  1. Unreal Engine 4 —— Post Process Shader练手(HLSL)
  2. Nginx.代理MySQL
  3. Paddington2
  4. Jzoj3907 蜀传之单刀赴会(梦回三国系列)
  5. AXIS2整合spring需要的jar,以及大部分缺少jar所报的异常
  6. Struts2中EL表达式取值
  7. MFC中小笔记(三)
  8. webservice-概念性学习(一)
  9. 上海交通大学c语言章节作业,上海交通大学级C语言测试题.doc
  10. java进销存一个人要做多久,如何取得当前年的时间! 找java进销存系统