Tengo que esperar en un script hasta que se cumplan ciertas condiciones?¿Hay alguna manera fácil en Python de esperar hasta que cierta condición sea verdadera?
Sé que puedo rodar mis propios eventos usando variables de condición y amigos, pero no quiero tener problemas para implementarlo, ya que algunos cambios de propiedades de objetos provienen de un hilo externo en una biblioteca envuelta en C++ (Boost .Python), así que no puedo secuestrar __setattr__
en una clase y poner una variable de condición allí, lo que me deja tratando de crear y señalar una variable de condición Python desde C++, o envolver una nativa y esperarla en Python , ambos suenan inquietos, innecesariamente complicados y aburridos.
¿Existe alguna manera más fácil de hacerlo, salvo que se realice un sondeo continuo de la condición?
Lo ideal sería en la línea de
res = wait_until(lambda: some_predicate, timeout)
if (not res):
print 'timed out'
Eso es lo que terminé haciendo. Afortunadamente, el rendimiento no es un problema (es un script de prueba). –
podría haber otra solución http://stackoverflow.com/a/7836454/995714 –