Zeilenumbruch nach input verhindern

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.
Antworten
gary1195
User
Beiträge: 5
Registriert: Samstag 22. März 2008, 14:50

Hallo,

wie kann ich verhindern das nach input() die Zeile automatisch umgebrochen wird?

Gruß
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Verwendest du Python 3.0? Ansonsten verwende raw_input().

Zur Frage:

Code: Alles auswählen

string.strip("\n")
gary1195
User
Beiträge: 5
Registriert: Samstag 22. März 2008, 14:50

Ich hab das Problem schon anders gelöst aber danke für die Hilfe
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

str1442 hat geschrieben:Verwendest du Python 3.0? Ansonsten verwende raw_input().

Zur Frage:

Code: Alles auswählen

string.strip("\n")
Das löst doch das Problem nicht.
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Ich hab die Frage so verstanden, das er Zeilenumbrüche entfernen will. Was ist denn sonst gemeint?

Obwohl, merke grade das gar kein Zeilenumbruch bei raw_input() festgehalten wird, wenn man mit Enter bestätigt. Bei input() sowieso nicht.
BlackJack

Es war gemeint, dass der Cursor nach der Betätigung der Eingabetaste eine Zeile nach unten und an den Anfang wandert, wenn man bei `input()` oder `raw_input()` eine Eingabe tätigt.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

gary1195 hat geschrieben:Ich hab das Problem schon anders gelöst aber danke für die Hilfe
Es wäre nett, die Lösung hier zu beschreiben, auch wenn du sie selbst gefunden hast -- User, die diesen Thread später via Suchfunktion finden, sind dankbar dafür.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
mcdaniels
User
Beiträge: 168
Registriert: Mittwoch 18. August 2010, 19:53

Hallo zusammen!
Ich greife mal diesen Thread auf, um die selbe Frage zu stellen.

Wenn ich ein

Code: Alles auswählen

zaehler = 0
while zaehler < 10:
   zaehler+=1
   name = rawinput('Bitte Name eingeben: ')
...verwende, wie kann man es unterbinden, dass nach dem Return ein Zeilenumbruch stattfindet. Habe im Netz bislang nichts brauchbares gefunden.

LG
Daniel
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Mit Python befindest Du Dich auf Konsolenebene. Und die Konsole schließt ein 'Enter' mit einem Zeilenumbruch ab. Daran ist so ohne weiteres nichts zu ändern.
Es ist also nicht der Python-Interpreter, der diesen Zeilenumbruch veranlasst. Python ist blind und taub, hat keine Ahnung davon, wo sich die Schreibmarke befindet.
Wenn Du Dich also frei auf dem Bildschirm bewegen möchtest (und sei es nur, um nach einer Eingabe an Ort und Stelle zu bleiben), musst Du auf ein (G/T)UI-Toolkit zurückgreifen. Wenn Du die Konsolenebene dabei nicht verlassen möchtest empfehle ich Dir das 'curses'-Modul.

mutetella


EDIT: Wenn Du mit Windows arbeitest kannst Du 'curses' nicht verwenden. Mit PDCurses gibt es hier eine Alternative, kenne ich aber nicht und die Entwicklung scheint nicht mehr aktiv zu sein...

EDIT_EDIT: Und mit UniCurses hast Du dann eine Python-Anbindung dazu...
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

mutetella hat geschrieben:Wenn Du die Konsolenebene dabei nicht verlassen möchtest empfehle ich Dir das 'curses'-Modul.
Viele halten urwid für die bessere Alternative.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
mcdaniels
User
Beiträge: 168
Registriert: Mittwoch 18. August 2010, 19:53

Hallo,
vielen Dank für eure Infos. Ich schau mir das mal an, allerdings nehme ich an, dass ich wohl meinen Fokus wieder auf die Basics verlegen sollte, da ich hier noch ziemlich am schwimmen bin... :-)
Dachte, es wäre eventuell recht "simpel" möglich.
LG
Daniel
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

Ich habe nicht wirklich alles in dem Thread gelesen aber hilft dir nicht vielleicht ein "," nach dem print?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

JonasR hat geschrieben:Ich habe nicht wirklich alles in dem Thread gelesen aber hilft dir nicht vielleicht ein "," nach dem print?
Der Beitrag reichte ja schon... um `print` ging es nicht!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Hyperion hat geschrieben:Viele halten urwid für die bessere Alternative.
Ich wusste wohl davon, hab's mir aber nie wirklich angeschaut... Ein Fehler!
Nachdem ich mir jetzt unter curses Methoden gebastelt habe, mit denen ich über einen Inhalt unbekannter Größe scrollen kann, muss ich feststellen, dass 'urwid' das mit seinem 'ListWalker' bereits implementiert hat.

Es lohnt sich also, das noch genauer anzuschauen. Mit curses muss man halt wirklich jede Kleinigkeit selbst machen...

Danke für die Inspiration!

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Antworten