我使用蟒蛇3.6.1和檢索JSON數據有以下代碼以JSON格式成功地檢索數據:NameError在功能
import urllib.request,json,pprint
url = "https://someurl"
response = urllib.request.urlopen(url)
data = json.loads(response.read())
pprint.pprint(data)
我想在一個函數來包裝這個,所以我可以重複使用它。這是我在一個名爲getdata.py曾嘗試:
from urllib.request import urlopen
import json
def get_json_data(url):
response = urlopen(url)
return json.loads(response.read())
,這是錯誤導入該文件並嘗試打印出來的響應後,我得到:
>>> import getdata
>>> print(getdata.get_json_data("https://someurl"))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Nick\getdata.py", line 6, in get_json_data
from urllib.request import urlopen
NameError: name 'urllib' is not defined
我也嘗試這和得到了同樣的錯誤:
import urllib.request,json
def get_json_data(url):
response = urllib.request.urlopen(url)
return json.loads(response.read())
我需要做什麼才能使這工作?
歡呼聲
奇怪。你的堆棧跟蹤說錯誤在第6行,但第6行不是'from urllib.request import urlopen'。你確定這就是出現的錯誤信息嗎? – Kevin
@Kevin是錯誤是在那條線上,但我認爲問題是與原子包。請參閱下面的答案。歡呼 – Nick
我投票結束這個問題作爲題外話,因爲問題消失了。 – martineau