python open ascii codec cant_Python3.6 报错问题:'ascii' codec can't encode character

当我使用 urllib.request.urlopen 访问 http://api.map.baidu.com/telematics/v3/weather?output=json&location=北京&ak=**** 的时候,程序报错了:

1 #!D:/Program Files/Python36

2

3 importurllib.request4

5 classWeatherHandle:6

7 #初始化字符串

8 url = u"http://api.map.baidu.com/telematics/v3/weather?output=json&"

9

10 ak = u""

11

12 defgetWeather(self, city):13

14 url_like = self.url + 'location=' + city + '&ak=' +self.ak15

16 response =urllib.request.urlopen(url_like).read()17

18 print(response)

错误的信息提示主要集中在最下面的三行中,从这三行可以看出是编码问题,我经过了一番百度之后,一开始有人叫我使用 sys.getdefaultencoding() 这个方法来设置成 utf-8 编码格式,但我输出打印了一下,我当然的编码格式就是 utf-8:

1 importsys2 print(sys.getdefaultencoding());

如此可见,Python3.6 默认的编码就是 utf-8,Python2.X 的解决方法是不是这个,我没有进行尝试。

后来我又找了一篇文章,文章中说:URL 链接不能存在中文字符,否则 ASCII 解析不了中文字符,由这句语句错误可以得出 self._output(request.encode('ascii'))。

所以解决办法就是将URL链接中的中文字符进行转码,就可以正常读取了:

1 #!D:/Program Files/Python36

2

3 importurllib.request4

5 classWeatherHandle:6

7 #初始化字符串

8 url = u"http://api.map.baidu.com/telematics/v3/weather?output=json&"

9

10 ak = u""

11

12 defgetWeather(self, city):13

14 url_like = self.url + 'location=' + urllib.parse.quote(city) + '&ak=' +self.ak15

16 response =urllib.request.urlopen(url_like).read()17

18 print(response)

这样就不会出现上述的错误了。但是我们现在显示的是乱码,我们只需要在输出的时候,使用 decode("utf-8") 将结果集转化为 utf-8 编码,就能正常显示了:

1 #!D:/Program Files/Python36

2

3 importurllib.request4

5 classWeatherHandle:6

7 #初始化字符串

8 url = u"http://api.map.baidu.com/telematics/v3/weather?output=json&"

9

10 ak = u""

11

12 defgetWeather(self, city, time):13

14 url_like = self.url + 'location=' + city + '&ak=' +self.ak15

16 response =urllib.request.urlopen(url_like).read()17

18 print(response.decode('utf-8'))

以上就是我解决问题的方法了,由于小编是刚学 Python 不久,所以技术水平还很菜,如果上面有什么会误导大家的,希望大家能指正一下,小编会立刻修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab 白色像素点,MATLAB 簡單的計算白色輪廓中像素點的個數

近來,有朋友問到,如何計算白色輪廓中的像素點的個數。我在這里就舉一個超級簡單的例子,就是假設一副二值圖片,其背景是黑色的,而你的邊緣是白色的,而且你的白色邊緣中不包含黑色的點,就如附件中…

pb网络编程_可在家中建立三个区域聆听空间,Integra DRX3.3 9.2声道网络影音接收机...

专为满足您的娱乐梦想而研发DRX-3.3可让您在家中建立最多三个区域的聆听空间,升级的四核SoC支持802.11ac(MIMO)高速Wi-Fi规格让多房间无线音频串流更顺畅,同时还可享受最高5.2.4声道沉浸式3D音效的电影与游戏。定制安装特性:• 用于外部控制与…

python如何确定拐点_python – 在样条拟合1d数据中找到拐点

我有一些一维数据,并与样条拟合.然后我想在其中找到拐点(忽略鞍点).现在我通过在splev生成的很多值上使用scipy.signal.argrelmin(和argrelmax)来搜索其第一个派生的极值.import scipy.interpolateimport scipy.optimizeimport scipy.signalimport numpy as npimport matplotli…

Php接收Vba post例子,vba发送窗口消息_postmessage

postmessage(Hwnd,WM_KEYDOWN,VK_Alt,0);postmessage(Hwnd,WM_KEYDOWN,VK_O,0);postmessage(Hwnd,WM_KEYUP,VK_O,0);postmessage(Hwnd,WM_KEYUP,VK_Alt,0);对普通字符键,直接用WM_CHAR消息:PostMessage hwnd, WM_CHAR, Asc("A"), 0 发送一个 …

加载中图片 转圈_对话洛可可平面设计师:平面设计中的效率瓶颈

随着内容创作者时代的到来,消费级个人数据存储容量的需求正在不断变大,同时对消费级存储产品的性能需求也在不断变大。以主流的设计师、后期剪辑等群体为例来说,往往对高性能PC有着极其大的需求,因为创作灵感往往转瞬即逝&#xf…

python直方图的拟合_从一组数据python中将两个高斯拟合成直方图

这里使用scipy工具进行模拟:from pylab import *from scipy.optimize import curve_fitdataconcatenate((normal(1,.2,5000),normal(2,.2,2500)))y,x,_hist(data,100,alpha.3,labeldata)x(x[1:]x[:-1])/2 # for len(x)len(y)def gauss(x,mu,sigma,A):return A*exp(-…

java如何实现缩略图,Java实现缩略图的步骤

Java实现缩略图的方法赵永恩import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.awt.image.ColorModel;import java.awt.image.WritableRaster;import java.awt.*;import java.awt.geom.AffineTransform;import java.io.InputStream;import java.i…

m 文件 dll matlab 中调用_如何在matlab中调用python程序

现在python很火,很多代码都是python写的,如果你和我一样,习惯了使用matlab,还想在matlab中调用Python的代码,应该怎么办呢?其中一条思路:首先在matlab中调用系统脚本命令,然后再通过…

spring整合atomikos实现分布式事务的方法示例_分布式事务中的XA和JTA

在介绍这两个概念之前,我们先看看是什么是X/Open DTP模型。X/Open X/Open,即现在的open group,是一个独立的组织,主要负责制定各种行业技术标准。X/Open组织主要由各大知名公司或者厂商进行支持,这些组织不光遵循X/Ope…

nginx php pathinfo,Nginx解决PATH_INFO新解决办法

在Nginx的0.7.31版本以前对pathinfo支持的很不好,需要各种设置,比如Thinkphp就配置很复杂,老版本配置可以参考惠新宸的blog《Nginx(PHP/fastcgi)的PATH_INFO问题》自从0.7.31以后,大家就有福了,我以Thinkphp为例&#…

hadoop 传感器数据_读取模式错误,计算引擎操作复杂……面对Hadoop这些问题该如何应对?...

作者 | Monte Zweben译者 | 天道酬勤,责编 | Carol封图 | CSDN 付费下载自视觉中国Apache Hadoop于2006年出现在IT领域,它使用商品硬件,为组织提供前所未有的数据量存储能力。不仅解决了数据集的大小问题,还解决了数据类型问题&am…

python怎么读取石墨表格_Python用Pandas读写Excel

Pandas是python的一个数据分析包,纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。读者福利,也有安装包,想要了解python人工智能可直接点击链…

数值分析牛顿法 matlab,科学网—数值分析--非线性函数牛顿迭代法matlab程序 - 殷春武的博文...

%%%程序编写者 西北工业大学自动化学院 Email: yincwxa2013mail.nwpu.edu.cn%% All rights reservedclearclcx0input(输入迭代初值x0)syms xfinput(输入函数f(x))dfdiff(f)t1;epucinput(输入精度要求eupc)if epuc>0epucepuc;else epuc0.000001end%牛顿迭代法…

xpath获取标签的属性值_论xpath与css定位方式

例1&#xff1a;<input id"kw" name"wd" class"s_ipt" value"" maxlength"255" autocomplete"off"> 分别使用xpath、css的标签组合定位xpath标签属性组合定位css标签属性组合定位css中#表示id,如#kw&#x…

c语言sort_C语言十大排序算法,让老师对你刮目相看的技巧

排序算法作为数据结构的重要部分&#xff0c;系统地学习一下是很有必要的。十种常见排序算法可以分为两大类&#xff1a;比较类排序&#xff1a;通过比较来决定元素间的相对次序&#xff0c;由于其时间复杂度不能突破O(nlogn)&#xff0c;因此也称为非线性时间比较类排序。非比…

vim复制粘贴_打造一款高逼格的Vim神器

Vim 是一个上古神器&#xff0c;本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项&#xff0c;以及持续分享一个开发者不得不安装的一些插件&#xff0c;而关于 Vim 的简介&#xff0c;主题的选择&#xff0c;以及为何使用 vim-plug 来管理插件等内容&…

php 两个二维数组对比,php比较两二维数组求大神指教

如&#xff1a;$grade Array([0] > Array([course_name] > 大学英语(综合)-1[course_strid] > College English (Comprehensive)-1[credit] > 2[course_nature] > 必修[grade] > 70.0[year] > 2013-2014[term] > 1[user_id] > 1034))$temp Array(…

python列表嵌套字典取值_我的 python 学习历程-Day05 字典/字典的嵌套

一、字典的初识为什么要有字典字典与列表同属容器型数据类型&#xff0c;同样可以存储大量的数据&#xff0c;但是&#xff0c;列表的数据关联性不强&#xff0c;并且查询速度比较慢&#xff0c;只能按照顺序存储。什么是字典先说一下什么叫可变与不可变的数据类型分类不可变&a…

s8050三极管经典电路_曝光一个产品级的红外发射电路

作者&#xff1a;瑞生&#xff0c;来源&#xff1a;科技老顽童微信公众号&#xff1a;芯片之家(ID&#xff1a;chiphome-dy今天给大家一个产品级的红外发射电路。为什么说是产品级的&#xff1f;因为这个电路我已经在各类产品上见过多次&#xff01;很多小伙伴学电子有一个误区…

树莓派 python spi,树莓派测试SPI-基于设备操作ioctl

用于测试树莓派的SPI接口是否正常工作&#xff0c;代码来自于https://raw.githubusercontent.com/raspberrypi/Linux/rpi-3.10.y/Documentation/spi/spidev_test.c测试方法参考自&#xff1a;http://louisthiery.com/spi-Python-hardware-spi-for-raspi//** SPI testing utilit…