Gibt es eine Möglichkeit programmgesteuert Pythons Raw_input zu unterbrechen? Insbesondere möchte ich dem Benutzer eine Eingabeaufforderung präsentieren, aber auch einen Socket-Deskriptor abhören (z. B. mit select) und die Eingabeaufforderung unterbrechen, etwas ausgeben und die Eingabeaufforderung erneut anzeigen, wenn Daten im Socket eingehen.Programmgesteuertes Unterbrechen von raw_input
Der Grund für die Verwendung von raw_input, anstatt einfach auf sys.stdin zu tun, ist, dass ich das readline-Modul verwenden möchte, um Zeilenbearbeitungsfunktionen für die Eingabeaufforderung bereitzustellen.
Ich bin im Augenblick das gleiche Problem konfrontiert. Ich dachte an die erste Lösung (raw_input() in einem anderen Thread aufrufen), aber nach der Suche fand ich heraus, dass es immer noch keine Möglichkeit gibt, es zu unterbrechen, auch nach dem Auslösen einer Ausnahme von einem Thread in einem anderen (http://stackoverflow.com)/questions/323972/is-there-any-way-to-kill-ein-thread-in-python) es wird nicht sterben, wenn es mit Systemaufruf beschäftigt ist (und raw_input() als eins klassifiziert, nicht wahr?) ?) ... :( – Sushi271