私は Python 2.7 でスクリプトを書いており、マルチスレッドと Queue モジュールの使用を調査しています。スクリプトは 2 つの関数を定義するだけで、そのうちの 1 つはスレッド インスタンスで開始されてキューを満たし、2 番目の関数は 2 番目のスレッド インスタンスで開始されてキューから何かを取得します。ただし、実行前であっても関数定義の 1 つをチョークするため、このスクリプトを実行することさえできません。問題のあるコード スニペットは次のとおりです。
def listenThread(counter):
while queue.empty() != True:
try:
outcome = queue.get()
print outcome
counter -=1
print counter
except:
return 'queue.get() command loop failing.'
私が得ているエラーメッセージは次のとおりです。
$ python threading-and-queue-test.py
File "threading-and-queue-test.py", line 34
except:
^
IndentationError: unindent does not match any outer indentation level
$
私はSOを検索し、try-except
コンストラクトの正しい形成についてドキュメントをチェックしましたが、問題ないようです。以前のバージョンのコード ( をtry-except
除く) が機能していたので、テキスト エディター TextWrangler v4.0.1 について疑いを持っています。
誰でもデバッグアプローチまたはコード修正を提案できますか? ありがとう!赤