2014-11-25 12 views

Antwort

6

Verwenden sorted Funktion sortieren.

with open('shopping.txt', 'r') as r: 
    for line in sorted(r): 
     print(line, end='') 
+1

Könnten Sie bitte lassen Sie mich wissen, ob dies würde alle Zeilen im Speicher zu nehmen. Wie würde das funktionieren? Liest das Input getrübt? –

+1

@AkshayHazari: 'sorted()' lädt alle Zeilen im Speicher. Um das Laden aller Zeilen zu vermeiden, können Sie den externen Befehl 'sort' aufrufen oder [in Python implementieren] (http://stackoverflow.com/a/16954837/4279) – jfs

14

Eine einfache Möglichkeit, dies zu tun, die sort() oder sorted() Funktionen verwendet.

lines = shopping.readlines() 
lines.sort() 

Alternativ:

lines = sorted(shopping.readlines()) 

Der Nachteil ist, dass Sie die gesamte Datei in den Speicher zu lesen, though. Wenn das kein Problem ist, können Sie diesen einfachen Code verwenden.

18

Nur um zu zeigen, etwas anderes statt dies in Python zu tun, können Sie dies über eine Befehlszeile in Unix-Systemen tun:

sort shopping.txt -o shopping.txt 

und Dateien sortieren. Natürlich, wenn Sie wirklich Python dafür wollen: Lösung von vielen anderen Leuten mit dem Lesen von Dateien vorgeschlagen und Sortierung funktioniert gut

Verwandte Themen