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操作中文名文件乱码的问题全部内容了,希望大家多多支持服务器之家~

python2中文字符串遍历乱码_完美解决Python2操作中文名文件乱码的问题相关推荐

  1. python中文名字-完美解决Python2操作中文名文件乱码的问题

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

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

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

  3. postmain请求中午乱码_完美解决Get和Post请求中文乱码的问题

    对于Post请求,只需在Servlet或者jsp中写入如下代码就可以把解决从表单中传入的中文乱码问题 request.setCharacterEncoding("utf-8"); ...

  4. csv文件导入后台乱码_用Excel打开CSV格式文件乱码,三种方法可以处理好!

    日常办公中,我们使用办公软件办公是比较平凡的,现在的办公软件也有好几种(微软的office.金山的WPS等).而且小编觉得在所有的办公软件中是微软的office是比较有名的.这款软件不仅功能齐全,还可 ...

  5. utf—8在苹果手机上乱码_如何解决iPhone5S电话本导入乱码的情况

    很多人导入电话本会出现这个问题,那么怎么解决呢? 电话本格式基本为vcf,首先用记事本打开电话本,格式如下: --------------分割线-------------------- BEGIN:V ...

  6. 从python存入的文件是乱码_如何解决python写入html文件中乱码的现象(图文详解)...

    python写入html文件中文乱码问题 使用open函数将爬虫爬取的html写入文件,有时候在控制台不会乱码,但是写入文件的html中的中文是乱码的 案例分析 看下面一段代码:# 爬虫未使用cook ...

  7. oracle xe 乱码_关于Linux操作系统下终端乱码的完美解决方法

    初入linux的程序员们,经常会受到乱码的问候.可谓"始乱终弃".因为乱码,并且最终放弃了linux的不在少数.好吧,言归正传,先看看各类乱码是怎么形成的. 中文字符乱码 这种情况 ...

  8. java 压缩 乱码_如何解决java压缩文件乱码问题

    用java来打包文件生成压缩文件,有两个地方会出现乱码: 内容的中文乱码问题:修改sun的源码.使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apac ...

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

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

最新文章

  1. Ubuntu使用mutt收、发、回复邮件(mutt+msmtp+fetchmail+procmail
  2. 孔板流量计计算公式_带你全面了解各种流量计
  3. 转]SQLServerDBA十大必备工具
  4. 机器人出魔切还是三相_哇!电站凝汽器清洗居然可以用机器人啦
  5. 【竞赛题解】Codeforces Round #715 (Div. 2) C
  6. Redis:复制,第3部分——redis-py和Python中的Redi哨兵一起使用
  7. 安卓listview控件使用
  8. .net知识系列之五:(基本控件和数据绑定控件)
  9. WOL局域网与外网远程唤醒概要
  10. 集成OpenLDAP与Kerberos实现统一认证(二):基于SSSD同步LDAP账号
  11. javafx教程大全
  12. Windows Kits(Windows 工具包)
  13. 终于有人把大数定律讲明白了
  14. 把虚拟机迁移到云服务器,VMware业务系统迁移上云方案
  15. CALL和jmp近远调用的区别
  16. Android Crash signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr b56cb106
  17. DirectPlay SDK中文翻译
  18. 调用office web 365接口实现在线预览word文档,PDF,PPT
  19. AES加解密效率测试(纯软件AES128/256)--以嵌入式Cortex-M0与M3 平台为例
  20. ACM纪念日 (15 分)

热门文章

  1. javascript基本函数
  2. 1、Flutter_初体验_创建第一个应用_AndroidStudio_windows
  3. Android studio 运行即打包keystore之build.gradle设置
  4. cesium 设置地球默认区域为中国 一键返回默认区域
  5. mysql数据库with ur_Python使用MySQL数据库(新)
  6. jdk8 list转Map
  7. (JAVA)超大整数运算
  8. java验证码限流_Java实现系统限流
  9. 【离散数学中的数据结构与算法】四 加法法则与乘法法则
  10. 【leetcode】16 3Sum Closest