之前用Python2.7版本写了些工具,后来发现Python2.7处理汉字时显示乱码。只好将Python版本升级到3,我直接从官网上安装了最新版本3.7。汉字能显示了,却发现了新的问题。
一,print函数报错
Python2.7的print函数可以不加括号,但是版本3.7却要求加括号。
这个很好解决
二,utf-8错误
Python3.7要求所有的.py文件必须是UTF-8格式,否则不识别内容。
所以,需要把脚本文件重新转换为UTF-8格式,用Notepad++很好做
三、gbk错误
UnicodeDecodeError: 'gbk' codec can't decode byte 0x9a in position 296: illegal multibyte sequence
查看对象文件,编码格式是UTF-8没问题。但是这还不够,必须要在脚本里显示的指定读取文件的格式
f0=open('xxx.xx','r',encoding='utf-8')
总结:
使用Python开发时遵守下面三个规则可以实现2.x版本到3.x版本的友好切换。
1. print函数加括号
2. 所有.py文件存储为UTF-8编码格式
3.对象文件以encoding='utf-8'格式打开