Seite 1 von 2

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Mittwoch 5. Dezember 2012, 15:50
von Remington Steele
Wenn ich das ganze in einer Python Shell ausführe, bekomme ich ebenfalls eine ähnliche Meldung: "AttributeError: read".

Da stimmt doch was nicht?

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Mittwoch 5. Dezember 2012, 16:44
von karolus
Nicht in der Python_Shell in der normalen Shell:
>> python dein_Script.py

Karolus

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 14:35
von Remington Steele
Hm aber wenn ich das jetzt in der Eingabeaufforderung eingebe, kann ich nicht mehrere Zeilen kopieren und diese einfügen, wie ich es mir vorstelle. Gibt es noch ein anderes "Shell"?

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 14:52
von JonasR
KLar geht das, bin mir nicht sicher was du macht oO

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 15:50
von Remington Steele
edit (D.post)

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 15:50
von Remington Steele
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

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 16:17
von jerch
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.

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 16:19
von /me
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.

Re:

Verfasst: Donnerstag 6. Dezember 2012, 16:19
von JonasR
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

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 16:24
von Remington Steele
Das hatte ich auch probiert.

Darauf war ^Z zu sehen, hatte nicht damit gerechnet, dass ein Enter danach noch zum Ziel führt. Danke :)

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 16:28
von Remington Steele
Mich würde dennoch interessieren, warum läuft das nicht im PythonScripter... deutet das auf schlampigen Code hin?

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 16:31
von snafu
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.

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 17:15
von /me
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.

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 20:25
von Remington Steele
aso. Nein ich meinte meinen eigenen Code :D.

Re: Mehrzeiligen Input von der Konsole lesen

Verfasst: Donnerstag 6. Dezember 2012, 23:02
von snafu
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.