Skip to main content
 首页 » 编程设计

python之使用 Python 说明读取 API 结果

2025年05月04日34artech

我正在尝试通过 Python 读取 API 调用的结果,并且我使用基础应用程序/脚本作为起点。

我对脚本中发生读取的一点感到有点困惑:

result=urllib2.urlopen.read()[13:-1] 
                    if result=="true": 
                            logging.info('available') 

我的问题专门针对 13:-1。根据 Python documentation , 它似乎是应用程序读取的偏移量或起点。这是一个例子:

>>> f.seek(-3, 2) # Go to the 3rd byte before the end 

这看起来与我的脚本中的 .read() 略有不同,因为我的脚本中的分隔符是 : 而不是 ,

为了阐明它读取的内容,我以 Ello API 为例。因此它会读取一个链接,生成如下所示的结果:

{ 
available: true, 
suggestions: [ 
"crunchyfeelsfists", 
"crunchy_nicksshakes", 
"supercrunchy" 
] 
} 

所以我使用的示例脚本正在读取“available: true”行。

我的第一个问题是,使用:, 有什么区别。我的下一个问题是 13:-1 如何读取该 API 结果的第二行?

如有任何帮助,我们将不胜感激!

请您参考如下方法:

您不应该像那样通过 json 响应对象手动查找。你应该使用 json 内置库

就这样

data = json.loads(urllib2.urlopen.read()) 
print data["available"] 
print data["suggestions"] 
... 

特别是因为可能几乎无法保证“可用”将始终是 json 响应中的第一个关键输出(因为字典本质上是无序的)

或者简单地使用请求库

data =requests.get(my_endpoint,data=my_data,headers=my_header).json() 

我知道这并没有解决 OP 的原始切片问题(其他答案解决了这个问题)