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]+ 嘛???

参考技术A extension[ext]+=1, 比如extension[ext]就是字典的一个值,就是它的值加一再赋给它啊,就像a=1,extension='ext':a,extension[ext]+=1,就相当于a+=1,就相当与a=1+1, 参考技术B 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这一个文件格式嘛????

参考技术C

    extension[ext]+=1 等同于extension[ext] = extension[ext]+1

    a=a+1 ; ++a ; a++ ; a+=1; 这四个语句通常是可以通用的,a=a+1简写为a+=1;也是经常遇到的

参考技术D extension = is equal to extendsion = dist()
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出错信息处理的主要内容,如果未能解决你的问题,请参考以下文章

python3中SSLError错误处理

ubuntu中python3安装package

python3中encode和decode的一些基本用法

Python3中使用PyMySQL连接Mysql

在jupyter中配置python3

如何在linux系统中,将python3.4更新到python3.5