Seite 1 von 1

Dauerschleife durch eingabe abrechen

Verfasst: Donnerstag 8. März 2012, 12:00
von Satzende
Hallo.
Wie oben schon steht will ich eine Dauerschleife durch eine Eingabe abrechen.
Problem ist das mir dafür nur raw_input in den Sinn kommt, das aber wartet immer auf eine Eingabe und unterbricht so die Dauerschleife.

Bitte um wegweisende Kommentare

Re: Dauerschleife durch eingabe abrechen

Verfasst: Donnerstag 8. März 2012, 12:07
von theo.puke
Mit "break" bricht man schleifen ab.

Re: Dauerschleife durch eingabe abrechen

Verfasst: Donnerstag 8. März 2012, 12:21
von /me
theo.puke hat geschrieben:Mit "break" bricht man schleifen ab.
Das war wohl eher nicht der Knackpunkt.

Läuft das Programm in der Shell oder mit einem GUI-Toolkit?

Re: Dauerschleife durch eingabe abrechen

Verfasst: Donnerstag 8. März 2012, 12:21
von Hyperion
theo.puke hat geschrieben:Mit "break" bricht man schleifen ab.
Was hat ``break`` mit einer Eingabeabfrage zu tun?

@Satzende: Das wird mit Standard-Python kaum gehen - außer mittels STRG+C. Hier findest Du dazu einen Lösungsvorschlag. Ich habe mit ``signal`` noch nie selber gearbeitet, daher kann ich über die Güte des Beitrags nichts aussagen.

Re: Dauerschleife durch eingabe abrechen

Verfasst: Donnerstag 8. März 2012, 12:41
von Satzende
Danke für eure schnellen Antworten.

Das ganze läuft in der shell. An GUI/signal hatte ich schon gedacht, wollte mich vergewissern das mit
Standard-Python nicht doch was zu machen ist.

@Hyperion: danke werde mir das durchlesen

Re: Dauerschleife durch eingabe abrechen

Verfasst: Donnerstag 8. März 2012, 18:04
von lunar
@Satzende: Du kannst die Schleife natürlich auch in einen Hintergrundthread verlagern (threading.Thread), im Vordergrund mit "raw_input()" auf die Eingabe warten, und bei erfolgter Eingabe dem Thread über ein "threading.Event" mitteilen, dass er sich zu beenden hat.

Im Allgemeinen aber ist das Unterbrechen mittels Strg+C bei jedem Betriebssystem das übliche Mittel, um laufende Konsolenprogramme gefahrlos zu unterbrechen.

Re: Dauerschleife durch eingabe abrechen

Verfasst: Donnerstag 8. März 2012, 18:49
von Satzende
Finde keine deutsche Referenz zu dem module Signal.


@lunar : Danke werde ich mir nun ansehen.

Re: Dauerschleife durch eingabe abrechen

Verfasst: Donnerstag 8. März 2012, 18:59
von lunar
@Satzende: Du wirst zu keinen Modul eine deutschsprachige Referenz finden, auch zu "threading" nicht. Wenn das für Dich ein Problem ist, dann musst Du entweder Englisch lernen oder mit dem Programmieren aufhören. Es mag Dir nicht gefallen, doch ohne Kenntnisse der englischen Sprache bist Du als Programmierer ziemlich verloren.