Por alguna razón no puedo acceder a la excepción Queue.Empty
- ¿Qué estoy haciendo mal aquí?No se puede acceder a Queue.Empty: "AttributeError: 'function' el objeto no tiene ningún atributo 'Vacío'"
from multiprocessing import Process, Queue
# ...
try:
action = action_queue.get(False)
print "Action: " + action
except Queue.Empty:
pass
El seguimiento de pila:
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'
Ah, ya veo, pensé que la importación de Queue importó el módulo, en lugar de la clase. ¡Gracias! – Ross
es aún más interesante: la importación de 'from multiprocessing import Queue' importa la función Queue desde' __init __. Py' en multiproceso que devuelve la clase Queue desde el submódulo multiprocessing.queues. ¡El tipado de patos y los espacios de nombres crean una programación interesante! – underrun