1、中文路径
#-*-coding:utf-8-*-path=ur'E:\accumulate\Python\语法\08输入和输出\1.txt'#python内部使用的是unicode,不加前缀u则为utf-8类型
2、python中的编码与解码
在python中有两种字符串类型,分别是str和unicode,他们都是basestring的派生 类;str类型是一个包含Characters represent (at least) 8-bit bytes的序列;unicode的每个unit是一个unicode obj;所以:len(u'中国')的值是2;len('ab')的值也是2;
如果想把一个str转换成特定编码类型,需要把str转为 Unicode,然后从unicode转为特定的编码类型如:utf-8、gb2312等;
#coding=utf-8s_u = u'中国' #u表示s为unicode类型s = '中国' #因为标志了coding=utf-8,所以s为utf-8格式的。#1、utf-8==>unicodeassert(unicode(s,'utf-8')==s_u)#equalassert(s.decode('utf-8')==s_u)#2、utf-8==>gb2312,先utf-8 ==>unicode 然后unicode转换为gb2312print s.decode('utf-8').encode('gb2312')#如果直接s.encode('gb2312')会报错,因为s会被默认解码为unicode,而解码方式依据sys.getdefaultencoding()import sysprint sys.getdefaultencoding() #一般为ascii