הי, אלו הדרכים שניסיתי להפעיל על התוצאה:
זה החלק מהסקריפט שלמעלה, רשמתי פה רק לצורך קונטקסט.
user = iam.get_user(UserName='<AWS_USER_NAME>')
זה הפלט:
{‘User’: {‘UserName’: ‘username’, ‘UserId’: ‘userid’, ‘Arn’: ‘arn_number’}
keys = user.keys()
print(keys)
נותן רק את הKey
print(user.get('User'))
השורה הבאה זהה ל print(user)
נותן את כל ה- values , אבל את הכל.
print(list(user.items())[0][1])
כנ"ל
print(list(user.values()))
ניסיתי להכניס את הקטע הבא ,אך משהו שם לא מתחבר כראוי , יכול להיות שיש משהו בתחביר, למרות שזה נראה הגיוני לחלוטין.
for user in page['Users']:
print("User: {0}\nARN: {1}\n".format(
user['Users'],
user['Arn']
)
)
לעשות את זה ידני, עובד.
אבל כל העניין שזה יתבצע באופן אוטומטי בסקריפט, וזה אני לא מצליח לפתור,שלא לדבר על לקחת פרט בודד מתוך הvalue.
>>> my_dict = dict({'UserName': 'username', 'UserId': 'userid', 'Arn': 'arn_number'})
>>> print(my_dict)
{'UserName': 'username', 'UserId': 'userid', 'Arn': 'arn_number'}
>>> type(my_dict)
<class 'dict'>
>>> my_dict[:2]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'slice'
אח"כ אמרתי, אולי אם נחלק את המילון למספר חלקים זה יעזור, אך קיבלתי שגיאה נוספת:
dict1 = dict(my_dict.items()[len(my_dict)/2:])
TypeError: 'dict_items' object is not subscriptable
ואז אחרי זה ניסיתי את זה
my_dict["Arn"]
'arn_number'
כלומר… מצאתי את הפתרון!
אך איך להכניס את זה:
{‘User’: {‘UserName’: ‘username’, ‘UserId’: ‘userid’, ‘Arn’: ‘arn_number’}
לתוך זה ?
my_dict = dict({'UserName': 'username', 'UserId': 'userid', 'Arn': 'arn_number'})
ומדוע קיבלתי את השגיאות האחרות ? הרי פעלתי לפי ההגיון הפייתוני ?