好的夥計們,我是Python新手。Python輸出爲FOR循環中的有效JSON
我一直在使用它在工作中查詢AWS與Boto3
我的第一個任務是建立一個腳本來查詢用戶在AWS與MFA開始,最初的腳本工作,並返回其不具有的所有用戶MFA設備,真的很簡單。
我想要做的是將列表導出到JSON文件,這樣我就可以使用Angular應用程序中的數據來顯示報告。
當我運行代碼時,我得到一個JSON輸出,但它不正確,它在每個對象後面缺少逗號和關閉JSON,而不是創建完整的單一JSON輸出。
我的代碼如下:
import json
# boto code here
for user in iam.list_users()['Users']:
mfa = iam.list_mfa_devices(UserName=user['UserName'])
if len(mfa['MFADevices']) == 0:
q = []
q.append({"account": item['alias'], "Username":
user['UserName'], "MFA": "No MFA Enabled"})
print json.dumps(q, indent=4)
結果格式爲:
[
{
"Username": "Username",
"MFA": "No MFA Enabled",
"account": "account"
}
]
[
{
"Username": "Username",
"MFA": "No MFA Enabled",
"account": "account"
}
]
近乎成功,但似乎是複製和乘以結果creatin ga巨大的列表 –
@MatthewWhite你可以分享一些數據在iam.list_users()['用戶'] –
恐怕我不能,但我認爲它實際上工作,基本上我的腳本假定角色在AWS和經過幾個帳戶,然後返回每個帳戶的結果,所以它關閉了每個帳戶的json對象,所以我相信你的修復工作,謝謝 –