我想从字典中检索一些值,应该相当容易。Python:打印变量字典字典
无论出于何种原因,我无法使用变量来检索值。
我有两个字典,一个具有的UID的映射 - >用户名(经由getent passwd中),以及其中包含的字典用于每个密钥的第二词典,基本上是:
dMap = { 12345678: 'username' }
qDict['12345678'] = {'used': '4204224', 'grace': 'none', 'quota': '5242880'}
显然还有很多这两个字典的价值,但我所展示的结构是基本的概念。
他们的qDict关键将是一个UID(应该通过深度贴图字典映射)
如果我有麻烦的是以下几点:
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
如果我注释掉:打印qDict [K]线之上,并且只打印k的值,键名印刷没有问题。我也可以参考字典外for循环与实际的键名(12345678):
print dMap[26617862] # this works!
print qDict['26617862'] # this works! #NOTE BELOW
我想要做的就是有for循环打印字典对于给定的键名,类打印字典的字典...我想问题是(如果你看看#NOTE BELOW行)我需要以某种方式呈现正确的格式化变量字典(qDict)。
有没有我在这里失踪的东西,还是有更简单的方法来做到这一点?
PS:我也试过用dMap.keys()循环等
是的,这就是它! 我最近来自Perl,我不记得这些相同类型的问题,但我可能是错的... 感谢您的帮助。 – billnted