1
File "F:\ake\pa\th\help.py", line 268, in main
print type(outputs[x])
KeyError: '0'

私のファイルは非常に大きいため、outputs実行方法の順序で表示される場所は次のとおりです。

outputs={}

#now in another function
global another_var,outputs

#if malarkey...
elif lines[row][col]=="0":
    outputs["0"]=str(state) #state is either 0 or 1

#back in original function
global outputs

for x in nums:
    print outputs[x], #line 268

上記のエラーが発生する理由が本当にわかりません。

4

1 に答える 1

2

実行しようとする最小限のコードがないと判断するのは困難ですが、最も可能性が高いのは、elif lines[row][col] == "0":期待したときにトリガーされないことです。そこに着いたら何かを印刷して、それが確実であることを確認してください。

また、print outputsエラーの直前に実行 (または、エラーをキャッチして出力) し、エラーの内容を正確に確認ます。この 2 つの間に、想像していたものとは別のことが起こっていることがわかるはずです。

于 2012-05-26T09:22:18.927 に答える