对于大多数人来说,我认为是一个非常简单的问题。 我试图在我的一个函数中保存从API URL请求获得的一些数据......
这是我的网址请求(示例):
import urllib.request
urllib.request.urlopen("https://aaa.com/api").read()
现在拉特说我得到的答案是“25”,我想把“25”发送给测试API结果的函数:
def test_api(a):
if (a <= 5):
return ("not good..")
elif (a == 25):
return ("great...")
那么我怎样才能“自动”将API的结果发送到(a)我的函数中?
(我的一些API只给了我简单的数字(312,46.12,98 ..),但其他人给了我更复杂的数据,如json和其他列表,但我稍后将处理它...)
答案 0 :(得分:2)
您可以将结果存储在变量中并将其传递给方法。
import urllib.request
response = urllib.request.urlopen("https://aaa.com/api").read()
def test_api(a):
if isinstance(a, int):
if (a <= 5):
return ("not good..")
elif (a == 25):
return ("great...")
else :
return "Opps...I was expecting an Integer"
def type_conversion(val, to_type, default=None):
try:
return to_type(val)
except ValueError:
return default
# type_conversion('str', int) # returns None
# type_conversion('str', int, 0) # returns 0
print (test_api(type_conversion(response, int)))
答案 1 :(得分:0)
假设urlopen()
返回一个整数:
import urllib.request
a = urllib.request.urlopen("https://aaa.com/api").read()
def test_api(a):
if (a <= 5):
return ("not good..")
elif (a = 25):
return ("great...")
test_api(a)
如果没有,您需要从响应中提取特定值,并确保它是一个整数(例如test_api(int(a))
)。