Я пытаюсь извлечь некоторые значения из словаря, должно быть довольно просто.
По какой-то причине я не могу использовать переменную для получения значения.
У меня есть два словаряодин с отображением uids -> usernames (через getent passwd) и второй словарь, который содержит словарь для каждого ключа, в основном:
dMap = { 12345678: 'username' }
qDict['12345678'] = {'used': '4204224', 'grace': 'none', 'quota': '5242880'}
Очевидно, что для обоих словарей есть еще много значений, ноструктура, которую я показал, является основной концепцией.
Ключом для qDict будет uid (который должен отображаться через словарь dMap)
В следующих случаях возникают следующие проблемы.:
for k,v in dMap.items():
print 'Key: ',k
print qDict[k]
Когда я запускаю сценарий, я получаю:
Traceback (most recent call last):
File "./test.py", line 156, in ?
main()
File "./test.py", line 98, in main
print qDict[k]
KeyError: 26617862
Если я закомментирую строку: print qDict [k] выше, и выводю только значение k,имена ключей печатаются без проблем.Я также могу ссылаться на словарь вне цикла for с фактическим именем ключа (12345678):
print dMap[26617862] # this works!
print qDict['26617862'] # this works! #NOTE BELOW
Я просто пытаюсь напечатать цикл словаря для данного имени ключа, видпечати словаря словаря ...
Я думаю, что проблема в том, что (если вы посмотрите на строку #NOTE BELOW) мне нужно как-то представить словарь (qDict) с правильно отформатированной переменной.
Есть ли что-то, чего мне здесь не хватает, или есть более простой способ сделать это?
PS: Я также пробовал цикл for с помощью dMap.keys () и т. Д.