Devo aspettare in uno script fino a quando un certo numero di condizioni diventa vero?C'è un modo semplice in Python di aspettare fino a quando certe condizioni sono vere?
So che posso eseguire il rollover del mio evento utilizzando variabili di condizione e amici, ma non voglio passare attraverso tutti i problemi di implementazione, dal momento che alcune modifiche alle proprietà dell'oggetto provengono da thread esterni in una libreria C++ incapsulata (Boost .Python), quindi non posso semplicemente dirottare __setattr__
in una classe e inserire lì una variabile di condizione, che mi lascia o cercando di creare e segnalare una variabile di condizione Python da C++, o di avvolgere una variabile nativa e attendere su di essa in Python , entrambi i suoni sono complessi, inutilmente complicati e noiosi.
C'è un modo più semplice per farlo, escludendo il polling continuo della condizione?
Idealmente sarebbe lungo le linee di
res = wait_until(lambda: some_predicate, timeout)
if (not res):
print 'timed out'
Questo è quello che ho finito per fare. Fortunatamente, le prestazioni non sono un problema (è uno script di prova). –
potrebbe esserci un'altra soluzione http://stackoverflow.com/a/7836454/995714 –