python读取乱码
A. python读取中文目录出现乱码
先对路径进行unicode处理,然后再打开。举例:
inpath = 'E:\MyProject\SVN_Project\Drawingboard_local\model\mydata\input\proction\示波器\0.htm'
uipath = unicode(inpath, "utf8")
然后用"uipath"经过编码后的路径去open()即可:
fin = open(uipath)
B. Python为什么一运行就是乱码
可能是编码问题,开头加上coding:utf-8试试。
C. python中文乱码是怎么一回事
python报错invalid character in identifier,意思就是“标识符中的无效字符”,检查下有没有字符是中文的,把中文字符改成英文字符再运行就可以了。
Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。
一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。
因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。
(3)python读取乱码扩展阅读
Python 中文编码:
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入# -*- coding: UTF-8 -*-或者# coding=utf-8就行了
注意:# coding=utf-8的=号两边不要空格。
实例:
(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print( "你好,世界" )
输出结果为:
你好,世界
D. python字符串是乱码怎么办
显示乱码的主要原因是:字符串编码集问题
其原因详细:
Windows 下的字符串编码集为GBK 而我们的Python字符串一般是 UTF-8
代码详情:
#!/usr/bin/python
# coding: utf-8
os_char='gb18030' # 定义转换类型为GB18030
print u"我是字符串" # 直接打印Unicode
print u"我是字符串".encode(os_char) # 转换为GB18030编码
print "我是字符串".decode("utf-8").encode(os_char) # 先转换为UTF-8 再转换为GB18030
备注:
之前的第一行(#!) 为Linux环境下的执行文件声明 如 Bash 的声明为 #!/bin/bash
第二行注明编码集为GB18030
Linux下的编码集为 UTF-8
E. 怎么解决Python3乱码问题
如果是Python文件用编辑器打开时出现乱码,将编辑器调试成utf-8或者gb2312显示。如果是运行Python文件时显示乱码,则修改Python文件,在文件顶部添加:# code = utf-8
F. PYTHON获取网页源码乱码,怎么办
text 是系统自行解码,部分网页会不对。
content指定解码,你的网页是utf-8的,对应解码就可以了
G. python中读取文件(路径含中文)出现乱码问题。
没有Python3 。
你试一下
path='Py....'#下面添加一行
path=path.decode('gbk')
H. python解决csv文件用excel打开乱码问题
【问题】
python输出的csv文件用excel打开,里面的中文会变成乱码,但用window下的记事本或mac下的numbers打开就正常显示。
原因是python输出的文件是utf-8编码写入的,excel默认以gbk方式读取,导致乱码发生。
【解决方法1】文件产出时encoding设置为utf-8-sig
用excel打开csv时,excel会先检查文件的第一个字符,来了解这个文件是什么编码方式,如果这个字符是BOM,excel就知道用utf-8的方式打开这个文件。python自带了处理BOM的编码方式uft-8-sig,因此只需要在文件产出时将encoding设置为utf-8-sig。
如果文件不是由python产出的,只需要以utf-8方式读入再以utf-8-sig方式存储即可
【解决方法2】懒人法,适用只含简体中文的文件
用记事本打开,点击另存为,右下角编码方式选择“ANSI”,这个过程是把这个文件改成gbk编码格式,excel就是默认用gbk方式打开的。
参考: Python写的csv文件,如何让 Excel 双击打开不乱码? - 云+社区 - 腾讯云
对编码格式一窍不通的可以阅读以下网页
python笔记——二进制和文件编码_砍柴姑娘Jourosy的博客-CSDN博客
编码方式之ASCII、ANSI、Unicode概述 - 蓝海人 - 博客园
【简单总结】:
1. 首先需要了解 字符集 和 字符编码 两个概念,字符集定义了字符和二进制的一一对应关系,字符编码规定了如何将字符的编号存储到计算机中。
2. Unicode是字符集,包含了全球文字的唯一编码,utf-8是编码方式,将unicode以某种方式存储到计算机中。
3. 有些字符集和编码是结合在一起的,称作字符集还是编码都无所谓,比如ASCII,GBK
4. ANSI是各个国家地区不同扩展编码方式的总称,互不兼容(可以看出来通用性没有utf好)
5. 不同编码方式在转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
I. python 读取图片 结果是乱码
如果你要是想显示为16进制的话,自己可以转化一下:
importbinascii
printbinascii.b2a_hex(a)
或者更加友好些
count=1
for空春iina:
ifcount%16!=0:
print'%s'%binascii.b2a_hex(a),斗梁耐
else:
print''
渣辩count+=1
这样就能打印成“不是乱码”了。
不能理解的问题:显示为乱码这有什么关系吗?
J. 执行python脚本出现乱码怎么解决
执行python脚本出现乱码的解决方法:首先把中文解码为unicode,具体方法如:【decode('utf-8')】;然后再转化为gbk即可,具体方法如:【encode('gbk')】。
问题:
代码中指定了UTF-8编码,但是在cmd命令行窗口时打印的中文仍然会乱码。
(推荐教程:Python入门教程)
原因:
windows下中文默认的输出编码为gbk ,与脚本中定义的UTF-8不一样,所以出现了解码失败的情况。
解决方法:
可以先把中文解码为unicode,然后再转化为gbk来解决这个问题。
举例:
运行结果: