„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie unterbreche ich eine While-Schleife mit Tastenanschlägen ohne KeyboardInterrupts?

Wie unterbreche ich eine While-Schleife mit Tastenanschlägen ohne KeyboardInterrupts?

Veröffentlicht am 08.11.2024
Durchsuche:902

How to Interrupt a While Loop with Keystrokes without KeyboardInterrupts?

Unterbrechen der While-Schleife mit Tastenanschlägen

In einem Szenario, in dem Sie serielle Daten lesen und sie mithilfe einer While-Schleife in eine CSV-Datei schreiben möchten Sie Benutzern möglicherweise die Möglichkeit geben, die Schleife zu beenden, um die Datenerfassung zu stoppen. In diesem Artikel werden Techniken zum Implementieren einer solchen Funktion untersucht, ohne explizit Tastaturinterrupts zu verwenden.

Ein einfacher Ansatz besteht darin, den Try-Except-Block zu verwenden, um eine KeyboardInterrupt-Ausnahme zu behandeln:

try:
    while True:
        # Do your serial operations here

except KeyboardInterrupt:
    pass

In diesem Fall führt das Drücken von Strg-C (die übliche Tastenkombination zum Auslösen von KeyboardInterrupt) dazu, dass die Schleife ordnungsgemäß beendet wird. Die Ausnahme wird außerhalb der Schleife abgefangen, wodurch sichergestellt wird, dass das Skript auch nach Beendigung der Schleife weiter ausgeführt wird.

Hinweis: Die Verwendung der Funktion opencv.waitKey(), wie sie in Ihrem Code zu sehen ist, funktioniert außerhalb von GUI-Anwendungen nicht und wird für diesen Zweck nicht empfohlen.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729558875 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3