13
何らかの理由でQueue.Empty
例外にアクセスできない - ここで何が間違っていますか?Queue.Emptyにアクセスできない:「AttributeError: 'function'オブジェクトに「Empty」属性がありません。
from multiprocessing import Process, Queue
# ...
try:
action = action_queue.get(False)
print "Action: " + action
except Queue.Empty:
pass
スタックトレース:
Traceback (most recent call last):
File "C:\Program Files\Python27\lib\multiprocessing\process.py", line 258,
in _bootstrap
self.run()
File "C:\Program Files\Python27\lib\multiprocessing\process.py", line 114,
in run
self._target(*self._args, **self._kwargs)
File "D:\Development\populate.py", line 39, in permutate
except Queue.Empty: AttributeError: 'function' object has no attribute 'Empty'
私は今、クラスをインポートするのではなく、モジュールをインポートしてインポートすると考えました。ありがとう! – Ross
それはさらに面白いです。 ''マルチプロセッシングimport Queue'からインポートすると、multiprocessing.queuesサブモジュールからQueueクラスを返すマルチプロセッシングの '__init __。py'からQueue関数がインポートされます。ダックタイピングと名前空間は面白いプログラミングのためのものです! – underrun