Python环境配置
Python环境配置
Python主页地址:https://www.python.org/downloads/
安装时可以选择添加到环境变量,否则需要手动添加。
手动添加:C:\Python27\;C:\Python27\Scripts\;
到环境变量的path变量里;安装chardet模块
chardet是python的第三方库,用来进行编码识别。主页地址为:https://pypi.python.org/pypi/chardet
可以使用pip命令直接安装:pip install chardet
Python中文字符处理
- decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312’),表示将gb2312编码的字符串str1转换成unicode编码。
- encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312’),表示将unicode编码的字符串str2转换成gb2312编码。
转码的时候一定要先搞明白,字符串str是什么编码,先decode成unicode,然后再encode成其他编码。
如果字符串是这样定义:s=u’中文’,则该字符串的编码就被指定为unicode了,即python的内部编码,而与代码文件本身的编码无关,此时只需要直接使用encode方法将其转换成指定编码即可。
如果一个字符串已经是unicode了,再进行解码则将出错,因此通常要对其编码方式是否为unicode进行判断:
isinstance(s, unicode)
#用来判断是否为unicode处理Json文件时,如果里边包含中文,虽然已经是utf-8格式,但打印的时候会发现还是显示“\u4e2d\u56fd”。解决办法:
json_obj = json.loads(line)
newjson = json.dumps(json_obj, ensure_ascii=False)
如果觉得Python处理中文字符比较麻烦,直接使用3.×以上的版本是一个不错的选择,但需要注意的是在读取文件时,如果文件有中文而又没有指定编码格式,会自动使用gbk解码,如果文本是utf-8可能会出错,最好直接给定。