辞書からいくつかの値を取得しようとしていますが、かなり簡単です。Python:変数付き辞書の印刷
何らかの理由で、変数を使用して値を取得することはできません。
dMap = { 12345678: 'username' }
qDict['12345678'] = {'used': '4204224', 'grace': 'none', 'quota': '5242880'}
は明らかに、より多くのがあります:>(getentをpasswdを経由して)ユーザ名、および基本的には各キーの辞書を含む第2の辞書、 -
は、私は2つの辞書、のUIDのマッピングを持つものを持っています両方のディクショナリの値ですが、ここで示した構造が基本的な概念です。
彼らはqDictは私が従っている悩みを抱えている(DMAP辞書を経由してマッピングする必要があります)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の値を印刷し、キー名は問題なく印刷されます。 、私は何をしようとしていることはループに指定されたキー名用の辞書を印刷だけを持っている
print dMap[26617862] # this works!
print qDict['26617862'] # this works! #NOTE BELOW
印刷の種類を:私はまた、実際のキー名(12345678)とのforループの外で辞書を参照することができます辞書の辞書...
私が問題と思うのは、(#NOTE BELOWの行を見ると)何らかの形で正しい形式の変数で辞書(qDict)を提示する必要があります。
ここに紛失しているものがあるのですか、これを行う簡単な方法がありますか?
PS:私もdMap.keysでループのために試してみた()など
はい、これはまさにそれでした! 私は最近、perlから来ていますが、これらの同じ種類の問題は覚えていませんが、間違っている可能性があります。 ありがとうございました。 – billnted