在用Python3的requests库写爬虫的过程中,通过get或post方法获得的返回值r之后,我用print函数打印r.json()的返回值,居然遇到了“UnicodeEncodeError: ‘ascii’ codec …”这种字符串编码错误。
网上的解决方法大都是设置编码格式,不过那些都是针对Python2的,对Python3没用,因为Python3的字符串本来就是UTF-8的编码。我开始的写法是print(r.json())
,我以为是json函数的问题,但后来我把两个函数分开写,这才发现是print函数执行的问题。
回忆我之前写代码和执行代码的方式,原来问题在于这次我是用vim调用外部命令的方式(在命令行模式下执行!python3 %
)执行的Python脚本,而之前我都是另开一个终端来执行。估计是这次打印的内容有ascii无法编码的中文,所以通过vim执行才遇到了问题。
通过Vim执行Python3脚本遇到的坑
最新推荐文章于 2024-08-13 21:11:53 发布