Mehrzeiligen Input von der Konsole lesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Remington Steele
User
Beiträge: 51
Registriert: Donnerstag 22. November 2012, 21:50

Hatte nicht damit gerechnet, dass statt Strg+V noch Rechtsklick / Einfügen funktionieren würde. Nun komme ich aber nicht mehr raus - habe mehrere Zeilen eingefügt, aber weder Enter noch exit etc. bringt mich weiter - was tun? :K
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Wie hast Du es denn im Script umgesetzt? Zeig mal Deinen Code, pauschal lässt sich nur sagen, dass low-level-Zugriff aufs Terminal die "Standardsteuerung" mitunter lahmlegt und man im Programm selbst entsprechend reagieren muss.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Remington Steele hat geschrieben:Nun komme ich aber nicht mehr raus - habe mehrere Zeilen eingefügt, aber weder Enter noch exit etc. bringt mich weiter - was tun? :K
Und was ist mit den hier bereits erwähnten Tastenkombinationen STRG-D oder STRG-Z (je nach Betriebssystem). Genau das war doch die angegebene Lösung.
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

Leonidas hat geschrieben:
lunar hat geschrieben:STRG+D (für End Of File, das ist die Kombination unter Linux, unter Windows kenne ich sie nicht)
Unter Windows ist es STRG+Z.
Eins von beiden
Remington Steele
User
Beiträge: 51
Registriert: Donnerstag 22. November 2012, 21:50

Das hatte ich auch probiert.

Darauf war ^Z zu sehen, hatte nicht damit gerechnet, dass ein Enter danach noch zum Ziel führt. Danke :)
Remington Steele
User
Beiträge: 51
Registriert: Donnerstag 22. November 2012, 21:50

Mich würde dennoch interessieren, warum läuft das nicht im PythonScripter... deutet das auf schlampigen Code hin?
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Remington Steele hat geschrieben:Mich würde dennoch interessieren, warum läuft das nicht im PythonScripter... deutet das auf schlampigen Code hin?
Du meinst seitens der Programmierer von der IDE? Würde ich nicht unbedingt sagen. Die Standardausgabe wird in einer IDE halt nicht an ein Terminal gegeben, sondern nur an eine abgespeckte Simulation. Da ist die Implementierung von Steuerbefehlen / speziellen Tastenkombinationen nicht selbstverständlich.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Remington Steele hat geschrieben:Mich würde dennoch interessieren, warum läuft das nicht im PythonScripter... deutet das auf schlampigen Code hin?
Nein. Du baust Code direkt für die Shell und so etwas unterstützen Entwicklungsumgebungen nur bedingt.
Remington Steele
User
Beiträge: 51
Registriert: Donnerstag 22. November 2012, 21:50

aso. Nein ich meinte meinen eigenen Code :D.
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Remington Steele hat geschrieben:aso. Nein ich meinte meinen eigenen Code :D.
Viel mehr als von Stdin zu lesen, kannst du nicht machen. Dein Programm läuft ja für gewöhnlich nicht in einer IDE, sondern wird direkt vom Interpreter als Skript ausgeführt. Und da funktioniert Stdin sehr wahrscheinlich wie gewünscht. Das Ausführen in der IDE würde ich eher als Testen betrachten. Gut, ist natürlich schon blöd, wenn etwas Wesentliches für das Testen nicht richtig funktioniert. Da wirst du dir wohl ein Kommandozeilen-Skript (also je nach Plattform wahrscheinlich Bash oder Batch bzw PowerShell-Blupp) schreiben müssen, welches eine direkte Ausführung macht und dabei das "echte" Stdin mit Daten füttert.
Antworten