Python3中UnicodeEncodeError: 'gbk' codec can't encode character出错信息处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3中UnicodeEncodeError: 'gbk' codec can't encode character出错信息处理相关的知识,希望对你有一定的参考价值。
参考技术A 我用Sublime Text编写一个网络小程序时遇到UnicodeEncodeError: 'gbk' codec can't encode character错误,很明显,这是编码的问题,requests返回的是utf-8编码,Sublime Text终端不能正常显示,通过如下设置,显示正常。
import requests
import sys
import io
sys.stdout = io.TextIOWrapper( sys.stdout.buffer, encoding='gb18030') # 改变系统输出编码方式
然后再print(rhtml.text)就正常显示了。
关于python中字典
有个老师写的python语句不明白,希望大家帮下忙
extension=
if extension.has_keys(ext):
extension[ext]+=1
else:
extension[ext]=1
上面的语句中 extension[ext]+=1 是什么意思?为什么这样做?是将 1 赋值给 extension[ext]+ 嘛???
你老师估计以前写过类似 遍历文件夹文件的东西
把遇到的各种类型的文件个数,统计到对应后缀的字典里
比如 , ".pdf":3, ".exe":6, ".txt":4, ".av":250追问
老师就是要我们写这个,但是这个怎么写?就算字典中有这个ext键,将extension[ext]的值加1后存回到extension[ext]又怎样? 正如你所举得例子 ".pdf":3, ".exe":6, ".txt":4, ".av":250。我要是想打印出这个,这些文件格式又怎么表示?这里面ext是表示比如pdf这一个文件格式嘛????
参考技术Cextension[ext]+=1 等同于extension[ext] = extension[ext]+1
a=a+1 ; ++a ; a++ ; a+=1; 这四个语句通常是可以通用的,a=a+1简写为a+=1;也是经常遇到的
it's a dictionary.
Now it's empty.
extension[1] = '1'
This way, you have it now like 1:'1'
Add more stuff:
extension['add'] = 2
extension['filename'] = 'fileA'
extension['file extension'] = 'txt'
Now it's 1:'1', 'add':2, 'filename':'fileA', 'file extension':'txt'
You may use the var before ':' as the index of an array,
So, extension['filename'] returns 'fileA'
Thus, in your case, extension[ext]+=1
extension[ext] must have returned an integer( probably the number of files with this extension). And you increased this number by one. 第5个回答 2013-10-21 将extension[ext]的值加1后存回到extension[ext]
以上是关于Python3中UnicodeEncodeError: 'gbk' codec can't encode character出错信息处理的主要内容,如果未能解决你的问题,请参考以下文章