Text Datei sortieren

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
dchingi
User
Beiträge: 8
Registriert: Mittwoch 26. Oktober 2016, 13:33

Hallo,
ich würde gerne Textdatei, die aus mehreren Strings besteht alphabetisch ordnen. Meine Idee war, die Strings in einer Liste zu speichern und dann einfach mit "sort" sortieren. Klappt nur leider nicht. Mit wird die Liste unverändert zurück gegeben. Kann mir jemand helfen? Hier ist mein Code:

Code: Alles auswählen


f = open(r"C:\3Python\namen.txt")
x = []
for i in f:
    x.append(i)
print(sorted(x))

Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@dchingi: `f` ist ein zu kurzer Name für ein Dateiobjekt, mit `i` werden üblicherweise ganze Zahlen verbunden, `x` ist zu generisch; Dateien öffnet man mit dem `with`-Konstrukt, damit sie auch wieder automatisch geschlossen werden. C:\3Python ist ein ungewöhlicher Verzeichnisname und hoffentlich nicht das Verzeichnis, in dem Deine Python-Installation liegt. Die sollte man nämlich nicht verändern, in dem man da eigene Dateien ablegt.

`sorted` liefert eine neue sortierte Liste zurück. Es ist also kein Wunder, dass die ursprüngliche Liste unverändert bleibt.

Code: Alles auswählen

with open("C:/3Python/namen.txt") as lines:
    names = list(lines)
names.sort()
print(names)
dchingi
User
Beiträge: 8
Registriert: Mittwoch 26. Oktober 2016, 13:33

Vielen Dank für deine schnelle Antwort und deine Ratschläge. Keine Sorge, es ist in einem anderen Verzeichnis gespeichert. Nur leider wird auch bei deinem Code die Liste nicht sortiert. Hast du noch eine Idee?
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@dchingi: zeig doch mal den Inhalt der Datei.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

dchingi hat geschrieben:Nur leider wird auch bei deinem Code die Liste nicht sortiert.
Doch, wird sie. Bist du sicher, dass du das korrekte Python-Programm mit der korrekten Python-Umgebung aufrufst?
dchingi
User
Beiträge: 8
Registriert: Mittwoch 26. Oktober 2016, 13:33

Es hat funktioniert. Vielen Dank. :)
Antworten