我正在用 Python 2.7 编写一个脚本,探索多线程和队列模块的使用。该脚本只定义了两个函数,其中一个将在线程实例中启动以填充队列,第二个将在第二个线程实例中启动以从队列中提取某些内容。但是,我什至无法执行此脚本,因为它甚至在执行之前就阻塞了其中一个函数定义。有问题的代码片段是:
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 产生怀疑。
任何人都可以建议调试方法或代码更正吗?谢谢!红色的