本文目录一览:
- 1、python cv2 read出错是因为什么?
- 2、pathlib2 中文路径出错
- 3、如何解决Python中文问题
- 4、python读取csv文件时,数据内容含有中文,读取出错,怎么办
- 5、请问,python打开中文字符文件,但显示不出中文怎么办
- 6、python读取中文目录出现乱码
python cv2 read出错是因为什么?
python cv2 read出错的原因:
1、路径(path)中含有中文,会导致读取失败,如:“图片熊猫1.png”,
应修改文件夹与文件名称为英文如:“picturepanda1.png”,网上说也可用unicode编码str,我试了好多种,没有效果,最好还是直接改成英文。
2、windows下分级目录间隔符“”是python中的转义符,在字符串中使用单“”,导致路径并不正确,应该使用“”,取消转义。即picturepanda1.png
3、查看后缀“.png”,".jpg"等是否带上,没有带上也会报错
更多Python知识请关注Python自学网。
pathlib2 中文路径出错
编码问题可能导致python读取中文路径时出错,使python读取中文路径失败
解决方法一:路径拆分单独编码
方法二:对全部路径用unicode格式编码
1.choice_5_29_spyder.py 文件路径不能有中文(导致莫名报错,python 3环境下没有报错)
2.get_im_context.py 文件路径中有中文导致只能run,不能debug(python 2环境下只能run不能debug)
如何解决Python中文问题
python的中文问题一直是困扰新手的头疼问题,Python的发行版至今尚未包括任何中文支持模块。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。 笔者使用的是2.5版本。Python的版本可以通过调用sys模块的sys.version查看。在几个月的学习中,主要遇到以下问题:
1. print打印中文的问题:
在编辑器中输入一段测试代码:
s=’测试’
print s
运行结果如下:
Non-ASCII character '\xb2' in file c:\Documents and Settings\Administrator\桌面\2.py on line 1, but no encoding declared; see for details: 2.py, line 1, pos 0
原因是如果文件里有非ASCII字符,需要指定编码声明。把2.py文件的编码重新改为utf-8,并加上编码声明:
# -*- coding: utf-8 -*-
s=’测试’
print s
运行后可以正确打印中文。
2.中文路径的问题。
在D盘下保存一个名字为‘中文.txt‘的文件。运行如下测试代码:
# -*- coding: utf-8 -*-
f=open('D:\\中文.txt', 'r')
print f.read()
运行结果如下:
IOError: [Errno 2] No such file or directory: 'D:\\\xe4\xb8\xad\xe6\x96\x87.txt'
字符串有很多的编码,不同的系统和平台有各自的编码 ,为了实现系统或平台之间的信息交互可能需要编码转换。这里只需要先使用UNICODE编码一下,这样再读取中文路径就不会有问题了:
复制代码
# -*- coding: utf-8 -*-
path='D:\\中文.txt'
spath=unicode(path , "utf8")
f=open(spath,'r')
print f.read()
复制代码
然后就可以正确显示文件内容
总结:
所有的中文显示问题都可以归结为编码问题,遇到其他类似的问题,那只能仔细看文档,靠你的经验,靠你多做测试。而且根据python所报出来的错误一般也可以判断出来。那么当发现需要编码转换时,剩下的就是如何正确进行码制转换。
为了正确处理多语言文本,Python在2.0版后引入了Unicode字符串。从那时起,Python语言中的字符串就分为两种:一种是2.0版之前就已经使用很久的传统Python字符串,一种则是新的Unicode字符串。在Python语言中,一般的解决办法是使用unicode()内建函数对一个传统Python字符串进行“解码”,得到一个Unicode字符串,然后又通过Unicode字符串的encode()方法对这个Unicode字符串进行“编码”,将其“编码”成为传统Python字符串。
python读取csv文件时,数据内容含有中文,读取出错,怎么办
估计是乱码造成,需要在读取的py文件中指定编码格式:
在文件开头,设置成gbk格式import
os,sys,re,csv
reload(sys)
sys.setdefaultencoding('gbk')
请问,python打开中文字符文件,但显示不出中文怎么办
一般是编码格式的问题,python内部默认的编码格式是utf-8,常见的文本编码格式是utf-8,gbk。编码格式不不一致就会乱码。可以在代码前面申明编码格式。
python读取中文目录出现乱码
先对路径进行unicode处理,然后再打开。举例:
inpath = 'E:\MyProject\SVN_Project\Drawingboard_local\model\mydata\input\production\示波器\0.htm'
uipath = unicode(inpath, "utf8")
然后用"uipath"经过编码后的路径去open()即可:
fin = open(uipath)