亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

初學者 Python 和 API - 如何讀取數據?

初學者 Python 和 API - 如何讀取數據?

烙印99 2023-06-06 17:27:14
我是 Python 和 API 的新手。我有一個 API 在工作,我可以訪問它并獲取計算機的詳細信息。在這一點上,我只想嘗試一個非?;镜木毩暡⒋蛴∮嬎銠C名和 IP 地址。使用一本 Python 書,我有一個關于 API 的章節,我正在嘗試以下作為測試并獲得 200 個響應并且長度結果 = 10。所以初始連接正在工作。import requests# Make an API call and store responseurl = 'https://removed.jamfcloud.com/JSSResource/advancedcomputersearches/id/8'headers = {    'accept': 'application/json',}r = requests.get(url, headers=headers, auth=('Username','Password'))print(f"Status code: {r.status_code}")#Store API response in a variableresponse_dict = r.json()#Process Resultsprint(response_dict.keys())repo_dicts = response_dict['advanced_computer_search']print(f"Length of repo_dicts is: {len(repo_dicts)}")此時我只想從結果中獲取 1 條記錄并顯示計算機名稱和 IP。值得一提的是,這本書的示例使用了一些 GitHub API,但我正在修改它以使用我自己的 API。書上說要添加以下代碼:#Examine the first repositoryrepo_dict = repo_dicts[0]print(f"Computer Name: {repo_dict['Computer Name']}")失敗并說:回溯(最近一次調用最后一次):文件“...\API_Test_Jamf_1.py”,第 22 行,在repo_dict = repo_dicts [0]KeyError:0這可能是有史以來最基本的事情,但我被困住了。Web 瀏覽器中的 API 結果如下所示:<advanced_computer_search><id>8</id><name>Test Pull</name><view_as>Standard Web Page</view_as><sort_1/><sort_2/><sort_3/><criteria><size>0</size></criteria><display_fields><size>102</size><display_field><name>Last Check-in</name></display_field><display_field><name>JSS Computer ID</name></display_field><display_field><name>Computer Name</name></display_field><display_field><name>IP Addresses</name></display_field>接下來我需要做什么才能得到:首先記錄并顯示計算機名和IP所有記錄都顯示相同的 2 個字段?
查看完整描述

1 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

查看response_dict您發布的結構(也許您應該嘗試放入一個可以很好地格式化它的編輯器以幫助您解析它),您要查找的信息(計算機名稱和 IP)位于在“計算機”下列出,這是您響應中“advanced_computer_search”下的鍵。之前的所有內容(這是您在此處粘貼的大部分內容)我認為是對您正在查詢的對象的描述。


要訪問列表,您可以調用response_dict["advanced_computer_search"]["computers"]。


要打印第一條記錄的信息:


name = response_dict["advanced_computer_search"]["computers"][0]["Computer_Name"]

ip = response_dict["advanced_computer_search"]["computers"][0]["IP_Addresses"]

print(f"Computer Name: {name}, IP: {ip}")

對所有記錄執行相同操作:


for computer in response_dict["advanced_computer_search"]["computers"]:

    name = computer["Computer_Name"]

    ip = computer["IP_Addresses"]

    print(f"Computer Name: {name}, IP: {ip}")


查看完整回答
反對 回復 2023-06-06
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號