Python raw_input ignoriert newline

8

Gibt es eine Möglichkeit, Newline-Zeichen in Daten zu ignorieren, die über raw_input eingegeben wurden? Ich versuche, raw_input zu verwenden, um eine Liste von Zeichenfolgen einzugeben, die aus einer Kalkulationstabelle kopiert und eingefügt werden. Das Problem ist, dass die neuen Zeilenzeichen dazu führen, dass die Daten vorzeitig eingegeben werden. Alle leeren Bereiche werden sowieso entfernt, so dass das Entfernen der Zeilenumbrüche während der Dateneingabe ein zusätzlicher Vorteil wäre. Diese Daten müssen direkt über die Terminal-Eingabeaufforderung eingegeben werden und nicht aus einer Datei gelesen werden.

Das habe ich bisher gemacht:

%Vor%

Wenn ich das jetzt ausführe und die Dummy-Namen eintrage, die ich in eine Google Doc-Tabelle einlege, um zu testen, sobald ich shift + ctl + v drücke, ohne die Eingabetaste zu drücken, bekomme ich Folgendes:

%Vor%

Ich bin ziemlich neu bei Python und bin bei weitem nicht der erfahrenste Programmierer. Das ist Python 2.7.

    
user1175490 28.01.2012, 17:34
quelle

2 Antworten

7

Da raw_input nur eine Zeile von der Eingabe benötigt, müssen Sie eine Schleife erstellen:

%Vor%

Testlauf:

%Vor%

Hinweis Ich habe ^C (Ctrl-C) hier verwendet, um das Ende der Eingabe anzuzeigen.

    
Rob Wouters 28.01.2012 18:09
quelle
1

Ich bin mir nicht sicher, was Sie zu fragen versuchen, aber wenn Sie raw_input () verwenden, wird eine abschließende neue Zeile entfernt.

Und der Doc sagt das auch.

  

Wenn das Eingabeaufforderungsargument vorhanden ist, wird es in die Standardausgabe geschrieben   ohne einen abschließenden Zeilenumbruch. Die Funktion liest dann eine Zeile aus der Eingabe,   wandelt es in eine Zeichenfolge um (entfernt eine abschließende neue Zeile) und kehrt zurück   Das. Wenn EOF gelesen wird, wird EOFError ausgelöst.

    
Abhijeet Rastogi 28.01.2012 17:47
quelle

Tags und Links