ein laufendes Python-Programm modifizieren

9

Ich habe ein Python-Programm mit vielen verschachtelten Schleifen gestartet, und das Programm wird Tage dauern. Ich habe gerade festgestellt, dass einer der Schleifenwerte falsch ist und eine Endlosschleife bildet.

Ich möchte das Programm nicht von Null aus neu starten, gibt es eine Möglichkeit, das aktuelle Programm zu unterbrechen und den Schleifenbereich so zu modifizieren, dass er richtig funktioniert und auch wenn er mit der Endlosschleife abgefangen wurde?

Vielen Dank für Ihre Hilfe.

    
user1479498 25.06.2012, 09:25
quelle

2 Antworten

1

Wenn das Programm von Zeit zu Zeit seinen Status oder seine Ergebnisse speichert, könnten Sie eine Logik hinzufügen, die die Schritte überspringt, die bereits ausgeführt wurden.

Ansonsten sehe ich keinen Weg, dies zu ändern.

    
glglgl 25.06.2012 09:32
quelle
0

Ich denke, ziemlich alten Artikel, aber gerade jetzt kam. Falls Sie es trotzdem versuchen möchten, können Sie Folgendes tun:

Lassen Sie Ihr Skript unter pdb wie folgt laufen: python -m pdb

Damit wird es unter pdb ausgeführt. Nach Eingabe von pdb geben Sie einfach den Befehl 'c' ein (weiter). Dies wird Ihr Programm beginnen.

Wenn Sie auf eine Endlosschleife stoßen, führen Sie einfach eine Strg + c aus, dies stoppt das Programm im Debugger. Jetzt können Sie alle gewünschten Python-Anweisungen ausführen. Möglicherweise könnten Sie auch ein neues Skript definieren, es importieren und Funktionen aus diesem Skript ausführen oder beenden.

Ich weiß, es ist keine gute Idee, immer unter Debugger zu laufen, aber zumindest das oben genannte würde lösen, was Sie beabsichtigt haben.

    
Rush 20.03.2013 21:51
quelle

Tags und Links