Twisted.internet モジュールがどのように機能するかをテストする簡単なコードがあります。特定の条件が発生したとき (例: i が 5 に等しいとき) にループを停止しようとしていますが、実行できませんでした。主なエラーが 2 つあります。
1.
exceptions.UnboundLocalError: local variable 'i' referenced before assignment
2. If ステートメントを使用せずに最後にreactor.stop()を 追加しただけでは、ループが停止しません。なぜですか?
from twisted.internet import task
from twisted.internet import reactor
time = 1.0 # one seconds
i=0
def myfunction():
print "sth"
i +=1
pass
l = task.LoopingCall(myfunction)
l.start(timeout) # call every second
reactor.run()
if i==5:
reactor.stop()