Datei

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Noah1379
User
Beiträge: 6
Registriert: Freitag 14. Januar 2022, 21:11
Wohnort: Düsseldorf

Hallo,
ich muss bei einer Textdatei die Zeilenreihenfolge umkehren. D.h. die letzte zeile wird in einer neuen Datei die erste, die vorletzte die zweite, usw.
Was muss ich dafür tun?

Danke
nezzcarth
User
Beiträge: 1764
Registriert: Samstag 16. April 2011, 12:47

Unter Linux und MacOS gibt es dafür "tac". Wenn es Python sein soll: Was hast du schon versucht und wo bestehen Schwierigkeiten? Wenn du deinen bisherigen Code zeigst, können wir besser weiterhelfen.
imonbln
User
Beiträge: 191
Registriert: Freitag 3. Dezember 2021, 17:07

Das Kommt darauf an (TM),
wenn es sich um „kleine“ Textdateien handelt, kannst du sie einfach Öffnen, Zeilenweise in eine Liste packen und die liste dann umgekehrt in eine zweite Datei Schreiben. Der Vorteil ist, das ist leicht zu programmieren, aber wenn die Datei Megabytes oder Gigabytes groß werden kann, ist das keine Option.
Daher das Kleine in Anführungszeichen, denn eine harte Grenze gibt es da nicht, das hängt sehr von der subjektiven Wahrnehmung des Anwenders ab, ob die Datei für diese simple Strategie zu groß ist.

ungefähr so:

Code: Alles auswählen

def main():
    with open("bla.py", "r", encoding="utf-8") as inp, open("reverse.yp", "w", encoding="utf-8") as outp:
        for line in reversed(list(inp)):
            outp.write(line)

if __name__ == '__main__':
    main()           
Antworten