Herausforderung:Unterdrückung der Newline-Einfügung, die automatisch nach Eingabefunktionen hinzugefügt wird (z. B. raw_input oder input).
Ziel:Ändern von raw_input (entspricht der Eingabe in Python 3.x), um die Erstellung einer neuen Zeile nach Benutzereingaben zu verhindern.
Lösung:
Obwohl es nicht möglich ist, das Einfügen von Zeilenumbrüchen in raw_input vollständig zu eliminieren, gibt es eine clevere Problemumgehung. Durch die Verwendung von Cursorbewegungsbefehlen können wir den Cursor im Wesentlichen in die gleiche Zeile wie die Eingabeaufforderung „zurückspulen“.
Um dies zu erreichen, können wir Folgendes verwenden:
print('3[{}C3[1A'.format(len(x) + y))
wobei:
Erklärung:
Die Sequenz 33[{}C bewirkt, dass sich der Cursor um eine bestimmte Anzahl von Leerzeichen nach rechts bewegt ({} steht für einen ganzzahligen Wert). In diesem Fall verschieben wir es an das Ende der Benutzereingabe und löschen es so.
Die Sequenz 33[1A bewegt den Cursor eine Zeile nach oben und bringt ihn an die Position der Eingabeaufforderung zurück.
Hinweis: Diese Methode funktioniert möglicherweise nicht auf allen Terminals. Auf kompatiblen Terminals (wie Kubuntu 14.04) bietet es jedoch eine praktische Lösung, um das unerwünschte Einfügen von Zeilenumbrüchen nach raw_input oder input zu unterdrücken.
Das obige ist der detaillierte Inhalt vonWie kann ich das Einfügen einer neuen Zeile in Eingabefunktionen unterdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!