私は無限ループ上で動作し、データベースに物事を追加し、途中で止めることができないので、単にCtrl + Cキーを押して停止することはできません。Pythonで無限ループを安全に止めるには?
私は何とかwhileループを停止したいが、停止する前に最後のiterationを終了させたい。
私は明確にしましょう:私は最後にwhileループ、または先頭を中断することができるようにしたい
while True:
does something
does more things
does more things
ではなくので、物事をやっ間:
私のコードは次のようになりますそれは悪いです。
と私はそれを繰り返したいと思っています。偉大な答えを
おかげで、私はスーパー感謝していますが、私の実装が動作していないようです:
def signal_handler(signal, frame):
global interrupted
interrupted = True
class Crawler():
def __init__(self):
# not relevent
def crawl(self):
interrupted = False
signal.signal(signal.SIGINT, signal_handler)
while True:
doing things
more things
if interrupted:
print("Exiting..")
break
私はプログラムcはCTRの+を押したときにちょうど私
あなたのスクリプトで、ジョブが完了した(最後のもの)かどうかを判断する方法はありますか?この場合、条件で使用してbreak文を使用すると、 – praba230890
この場合、ジョブは無限に進むことができるWebクローラです。私はクロールを止めるように伝えることができますが、例えばページの途中で中断するだけではありません。 – davegri
*停止する前に最後の反復を終わらせる*?それが仕事をしたかどうか、どうやって知っていますか? –