Ich möchte jedes Mal einen Zeilenumbruch an meinen String anhängen, wenn ich file.write()
. Wie lässt sich dies in Python am einfachsten bewerkstelligen?
Antworten
Zu viele Anzeigen?Wenn Sie es ausgiebig nutzen (viele geschriebene Zeilen), können Sie die Unterklasse 'file' verwenden:
class cfile(file):
#subclass file to have a more convienient use of writeline
def __init__(self, name, mode = 'r'):
self = file.__init__(self, name, mode)
def wl(self, string):
self.writelines(string + '\n')
Jetzt bietet es eine zusätzliche Funktion wl, die das tut, was Sie wollen:
with cfile('filename.txt', 'w') as fid:
fid.wl('appends newline charachter')
fid.wl('is written on a new line')
Vielleicht übersehe ich etwas wie verschiedene Zeilenumbrüche ( \n , \r , ...) oder dass die letzte Zeile ebenfalls mit einem Zeilenumbruch abgeschlossen wird, aber bei mir funktioniert es.
Könnten Sie tun:
file.write(your_string + '\n')
wie in einer anderen Antwort vorgeschlagen, aber warum sollte man die String-Verkettung (langsam, fehleranfällig) verwenden, wenn man file.write
zweimal:
file.write(your_string)
file.write("\n")
Beachten Sie, dass Schreibvorgänge gepuffert werden, so dass es auf das Gleiche hinausläuft.
- See previous answers
- Weitere Antworten anzeigen