Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算距离矩阵时的误差_Python_Urllib3_Google Distancematrix Api - Fatal编程技术网

Python 计算距离矩阵时的误差

Python 计算距离矩阵时的误差,python,urllib3,google-distancematrix-api,Python,Urllib3,Google Distancematrix Api,我在下面的帖子中计算距离矩阵 这就是代码片段 import urllib.request from urllib.parse import quote import urllib.parse import simplejson, urllib import urllib.request orig_coord = 19.12,19.45 dest_coord = 19.10,19.50 url = 'http://maps.googleapis.com/maps/api/distancemat

我在下面的帖子中计算距离矩阵 这就是代码片段

import urllib.request
from urllib.parse import quote  
import urllib.parse
import simplejson, urllib
import urllib.request
orig_coord = 19.12,19.45
dest_coord = 19.10,19.50
url = 'http://maps.googleapis.com/maps/api/distancematrix/json?origins=' + urllib.quote_plus(orig_coord)+ '&destinations=' + urllib.quote_plus(dest_coord) + '&mode=driving&language=en-EN&sensor=false'
#url = "http://maps.googleapis.com/maps/api/distancematrix/json?origins={0}&destinations={1}&mode=driving&language=en-EN&sensor=false".format(str(orig_coord),str(dest_coord))
#result= simplejson.load(urllib.urlopen(url))
result=urllib.request.urlopen(url)
driving_time = result['rows'][0]['elements'][0]['duration']['value']
我试过这两种方法(另一种有评论) 但它从来都不起作用, 现在有了这些代码,我得到了错误

runfile('C:/Users/admin/.spyder-py3/temp.py', wdir='C:/Users/admin/.spyder-py3')
Traceback (most recent call last):

  File "<ipython-input-22-30ed5be6f1c7>", line 1, in <module>
    runfile('C:/Users/admin/.spyder-py3/temp.py', wdir='C:/Users/admin/.spyder-py3')

  File "C:\Users\admin\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
    execfile(filename, namespace)

  File "C:\Users\admin\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/admin/.spyder-py3/temp.py", line 16, in <module>
    url = 'http://maps.googleapis.com/maps/api/distancematrix/json?origins=' + urllib.quote_plus(orig_coord)+ '&destinations=' + urllib.quote_plus(dest_coord) + '&mode=driving&language=en-EN&sensor=false'

AttributeError: module 'urllib' has no attribute 'quote_plus'
runfile('C:/Users/admin/.spyder-py3/temp.py',wdir='C:/Users/admin/.spyder-py3')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
运行文件('C:/Users/admin/.spyder-py3/temp.py',wdir='C:/Users/admin/.spyder-py3')
文件“C:\Users\admin\Anaconda3\lib\site packages\spyder\utils\site\sitecustomize.py”,第866行,在runfile中
execfile(文件名、命名空间)
文件“C:\Users\admin\Anaconda3\lib\site packages\spyder\utils\site\sitecustomize.py”,第102行,在execfile中
exec(编译(f.read(),文件名,'exec'),命名空间)
文件“C:/Users/admin/.spyder-py3/temp.py”,第16行,在
url='1〕http://maps.googleapis.com/maps/api/distancematrix/json?origins=“+urllib.quote_plus(orig_coord)+”和destinations='+urllib.quote_plus(dest_coord)+'&mode=driving&language=en&sensor=false”
AttributeError:模块“urllib”没有属性“quote\u plus”
urlib的
状态

请注意,urllib模块已拆分为多个部分,并在Python 3中重命名为urllib.request、urllib.parse和urllib.error


因此,将
urlib
urlib.parse
等一起导入似乎有些奇怪<代码>quote_plus()
应在中。你试过了吗?

我想你必须用
urllib.parse.quote\u plus
调用替换
urllib.parse.quote\u plus
@Jose使用了urllib.parse.quote\u plus导入quote\u plus中的
,但是它给出了错误
modulenofounderror:没有名为“urllib.parse.quote\u plus”的模块“urllib.parse”不是来自urllib.parse import quote_plus的包
,“parse import quote_plus”
在python 3.1.6中工作,使用了源代码,并且正在工作。我尝试了来自urllib.parse import quote_plus的
,但它给出了错误
属性错误:模块“urllib”没有属性“quote_plus”
@Domnick您的评论中有些东西是错误的奇怪。如果
quote\u plus
不存在于
urlib.parse
中,您应该会收到一条错误消息,如
ImportError:cannotimportname quote\u plus
。您的错误消息意味着您仍在尝试调用
urllib.quote\u plus()
!您应该从代码中完全删除
import-urllib