Python的编码问题一般在有中文的情况下会出现。这里的Python文件在Windows环境下运行的。当Python文件不含中文时,无论.py文件是ANIC/ASCII格式还是utf-8格式,在cmd中运行时都能得到正常的结果,但是.py文件里含中文时,直接编译就会出现问题了。这里主要有两种情况:
1. .py文件是ANIC/ASCII格式,在cmd里运行时会报以下错误:
2. .py文件是ANIC/ASCII格式,在文件里声明#encoding=utf-8,在cmd里运行汇报以下错误:
当把文件转成utf-8格式,只要在中文前加上u,即使不加encoding声明,脚本一样能正常运行。为了处理转义字符的问题,可以在中文面前加上r,要注意的是r一定要紧挨中文,如果放在u前面,就会报语法错误。
错误:fp=open(ru'D:\中文测试.txt','r')
正确:fp=open(ur'D:\中文测试.txt','r')