Ich schreibe ein Skript, das alle Textdateien modifiziert. Es ersetzt Leerzeilen durch Leerzeilen. Es löscht die Leerzeilen am Ende der Datei. Das Bild zeigt die gewünschte Ausgabe.
Ich kann der gewünschten Ausgabe sehr nahe kommen. Das Problem ist, dass ich die letzte leere Zeile nicht loswerden kann. Ich denke, das hat etwas mit der letzten Zeile zu tun. Beispiel: ' the lines below me should be gone
sieht tatsächlich wie folgt aus ' the lines below me should be gone\n'
Es sieht so aus, als würden in der vorherigen Zeile neue Zeilen erstellt. Wenn z. B. Zeile 4 \n
hat, dann ist Zeile 5 die Leerzeile und nicht Zeile 4.
Ich sollte beachten, dass ich rstrip
oder strip
Mein Code bisher.
%Vor% Das \n
bedeutet im Wesentlichen "eine andere Zeile erstellen"
Wenn Sie also alle Zeilen entfernt haben, die \n
sind, gibt es immer noch die vorherige Zeile
Dies bedeutet wiederum "eine andere Linie erstellen", über die hinaus, die Sie bereits entfernt haben
Da Sie sagen, dass Sie rstrip
nicht verwenden können, könnten Sie die Schleife mit
um \n
vom letzten Element zu entfernen. Da \n
nirgendwo anders in einer Zeile existieren kann, haben rstrip
und strip
denselben Effekt
Oder ohne any strip
oder endswith
:
Beachten Sie, dass \n
ein einzelnes Zeichen ist, ordinal 0x0a
as hex, nicht zwei Zeichen \
und n
, ordinals 0x5c
und 0x6e
. Deshalb verwenden wir -1
und nicht -2
Tags und Links python python-3.x