Wie verhindert man das Einfügen von Zeilenumbrüchen in den Python-Funktionen „raw_input()' und „input()'?

DDD
Freigeben: 2024-10-26 17:27:02
Original
887 Leute haben es durchsucht

How to Prevent Newline Insertion in Python's `raw_input()` and `input()` Functions?

Verhindern des Einfügens von Zeilenumbrüchen in Eingabefunktionen

Dieses Problem tritt auf, wenn die Funktionen raw_input() oder input() verwendet werden (für Python 2.x bzw. 3.x), da sie nach Benutzereingaben automatisch eine neue Zeile hinzufügen. Dieses Verhalten ist problematisch, wenn versucht wird, die neue Zeile zu entfernen und Benutzereingaben direkt nach einer gedruckten Zeichenfolge zu platzieren.

невозможность отключения печати новой строки в raw_input()

Entgegen allgemeiner Meinung , ist es unmöglich zu verhindern, dass raw_input() eine neue Zeile einfügt. Allerdings gibt es eine Problemumgehung, um den Cursor nach Erhalt der Eingabe wieder in die vorherige Zeile zu positionieren.

Neupositionierung des Cursors

Eine clevere Lösung besteht darin Navigieren Sie mit dem Cursor, um die vorherige Zeile mithilfe von ANSI-Escape-Sequenzen hervorzuheben. Durch Angabe der Länge der Benutzereingabe (x) und der Länge der Eingabeaufforderung raw_input() (y) kann der Cursor entsprechend neu positioniert werden:

print '3[{}C3[1A'.format(len(x) + y),
Nach dem Login kopieren

In diesem Code:

  • ' 33[{}C' bewegt den Cursor um x y nach rechts
  • ' 33[1A' bewegt den Cursor um 1 Zeile nach oben

Dadurch werden die Benutzereingaben effektiv gelöscht die aktuelle Zeile und ermöglicht es Ihnen, mit dem Drucken oder Bearbeiten des Textes fortzufahren.

Das obige ist der detaillierte Inhalt vonWie verhindert man das Einfügen von Zeilenumbrüchen in den Python-Funktionen „raw_input()' und „input()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage