我试图通过下面的脚本检索物理地址的经度和纬度.但是我收到了错误.我已经安装了googlemaps.亲切的回复在此先感谢
#!/usr/bin/env python
import urllib,urllib2
"""This Programs Fetch The Address"""
from googlemaps import GoogleMaps
address='Mahatma Gandhi Rd, Shivaji Nagar, Bangalore, KA 560001'
add=GoogleMaps().address_to_latlng(address)
print add
Run Code Online (Sandbox Code Playgroud)
输出:
Traceback (most recent call last):
File "Fetching.py", line 12, in <module>
add=GoogleMaps().address_to_latlng(address)
File "/usr/local/lib/python2.7/dist-packages/googlemaps.py", line 310, in address_to_latlng
return tuple(self.geocode(address)['Placemark'][0]['Point']['coordinates'][1::-1])
File "/usr/local/lib/python2.7/dist-packages/googlemaps.py", line 259, in geocode
url, response = fetch_json(self._GEOCODE_QUERY_URL, params=params)
File "/usr/local/lib/python2.7/dist-packages/googlemaps.py", line 50, in fetch_json
response = urllib2.urlopen(request)
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 407, …
Run Code Online (Sandbox Code Playgroud) 我需要排序到以下列表:
b = ['0.10', '0.1', '0.11', '0.12', '0.2', '0.3']
Run Code Online (Sandbox Code Playgroud)
...这样输出将是:
['0.1', '0.2', '0.3', '0.10', '0.11', '0.12']
Run Code Online (Sandbox Code Playgroud)
它们看起来像float
值,但这不是我想要的顺序 - 它们需要被视为版本号 - 即0.1不是0.10(第一个是零点1,第二个是零点10).当我float
用作键时,我得到一个不同的顺序:
>>>b.sort(key=float)
>>>b
['0.10', '0.1', '0.11', '0.12', '0.2', '0.3']
Run Code Online (Sandbox Code Playgroud)
我还想对以下列表进行排序:
['3.0.1', '3.0.10', '3.0.11', '3.0.12', '3.0.2', '3.0.3',
'3.0.4', '3.0.5', '3.0.6', '3.0.7', '3.0.8', '3.0.9',
'3.1.1', '3.1.10', '3.1.11', '3.1.12', '3.1.2', '3.1.3',
'3.1.4', '3.1.5', '3.1.6', '3.1.7', '3.1.8', '3.1.9']
Run Code Online (Sandbox Code Playgroud)
按此顺序:
['3.0.1', '3.0.2', '3.0.3', '3.0.4', '3.0.5', '3.0.6',
'3.0.7', '3.0.8', '3.0.9', '3.0.10', '3.0.11', '3.0.12',
'3.1.1', '3.1.2', '3.1.3', '3.1.4', '3.1.5', '3.1.6',
'3.1.7', '3.1.8', '3.1.9', …
Run Code Online (Sandbox Code Playgroud)