python2中文字符串遍历乱码_完美解决Python2操作中文名文件乱码的问题
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操作中文名文件乱码的问题相关推荐
- python中文名字-完美解决Python2操作中文名文件乱码的问题
Python2默认是不支持中文的,一般我们在程序的开头加上#-*-coding:utf-8-*-来解决这个问题,但是在我用open()方法打开文件时,中文名字却显示成了乱码. 我先给大家说说Pytho ...
- 【CKFinder】解决上传中文名文件乱码和文件重命名的问题
在Windows Server 2003的服务器平台上,用CKFinder上传中文文件名的文件,上传后,文件名变成了乱码,导致文件链接找不到. 上传中文名文件乱码问题 在ckfinder/config ...
- postmain请求中午乱码_完美解决Get和Post请求中文乱码的问题
对于Post请求,只需在Servlet或者jsp中写入如下代码就可以把解决从表单中传入的中文乱码问题 request.setCharacterEncoding("utf-8"); ...
- csv文件导入后台乱码_用Excel打开CSV格式文件乱码,三种方法可以处理好!
日常办公中,我们使用办公软件办公是比较平凡的,现在的办公软件也有好几种(微软的office.金山的WPS等).而且小编觉得在所有的办公软件中是微软的office是比较有名的.这款软件不仅功能齐全,还可 ...
- utf—8在苹果手机上乱码_如何解决iPhone5S电话本导入乱码的情况
很多人导入电话本会出现这个问题,那么怎么解决呢? 电话本格式基本为vcf,首先用记事本打开电话本,格式如下: --------------分割线-------------------- BEGIN:V ...
- 从python存入的文件是乱码_如何解决python写入html文件中乱码的现象(图文详解)...
python写入html文件中文乱码问题 使用open函数将爬虫爬取的html写入文件,有时候在控制台不会乱码,但是写入文件的html中的中文是乱码的 案例分析 看下面一段代码:# 爬虫未使用cook ...
- oracle xe 乱码_关于Linux操作系统下终端乱码的完美解决方法
初入linux的程序员们,经常会受到乱码的问候.可谓"始乱终弃".因为乱码,并且最终放弃了linux的不在少数.好吧,言归正传,先看看各类乱码是怎么形成的. 中文字符乱码 这种情况 ...
- java 压缩 乱码_如何解决java压缩文件乱码问题
用java来打包文件生成压缩文件,有两个地方会出现乱码: 内容的中文乱码问题:修改sun的源码.使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apac ...
- 用 Anaconda 完美解决 Python2 和 python3 共存问题
转自:https://foofish.net/compatible-py2-and-py3.html Python3 被越来越多的开发者所接受,同时让人尴尬的是很多遗留的老系统依旧运行在 Python ...
最新文章
- Ubuntu使用mutt收、发、回复邮件(mutt+msmtp+fetchmail+procmail
- 孔板流量计计算公式_带你全面了解各种流量计
- 转]SQLServerDBA十大必备工具
- 机器人出魔切还是三相_哇!电站凝汽器清洗居然可以用机器人啦
- 【竞赛题解】Codeforces Round #715 (Div. 2) C
- Redis:复制,第3部分——redis-py和Python中的Redi哨兵一起使用
- 安卓listview控件使用
- .net知识系列之五:(基本控件和数据绑定控件)
- WOL局域网与外网远程唤醒概要
- 集成OpenLDAP与Kerberos实现统一认证(二):基于SSSD同步LDAP账号
- javafx教程大全
- Windows Kits(Windows 工具包)
- 终于有人把大数定律讲明白了
- 把虚拟机迁移到云服务器,VMware业务系统迁移上云方案
- CALL和jmp近远调用的区别
- Android Crash signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr b56cb106
- DirectPlay SDK中文翻译
- 调用office web 365接口实现在线预览word文档,PDF,PPT
- AES加解密效率测试(纯软件AES128/256)--以嵌入式Cortex-M0与M3 平台为例
- ACM纪念日 (15 分)
热门文章
- javascript基本函数
- 1、Flutter_初体验_创建第一个应用_AndroidStudio_windows
- Android studio 运行即打包keystore之build.gradle设置
- cesium 设置地球默认区域为中国 一键返回默认区域
- mysql数据库with ur_Python使用MySQL数据库(新)
- jdk8 list转Map
- (JAVA)超大整数运算
- java验证码限流_Java实现系统限流
- 【离散数学中的数据结构与算法】四 加法法则与乘法法则
- 【leetcode】16 3Sum Closest