Ich generiere eine Menge String mit einer Schleife und ich muss diese Zeichenfolge in eine Datei schreiben. Ich möchte, dass meine Datei sortiert ist. Der folgende Code zeigt, was ich tun möchte:Wie füge ich eine Zeile in eine sortierte Datei ein?
#! /usr/bin/python2.7
# -*- coding: utf-8 -*-
my_file = open('my_file.txt', 'w')
#randon_string and insert_in_order_alphabetically are just for the example
for x in range(1,100000000):
my_string = random_string()
my_file.insert_in_alphabetical_order(my_string)
my_file.close()
Does Python haben Funktionen für dies tun oder Muss ich meine eigenen Algorithmus kodieren?
ist es notwendig, sie in alphabetischer Reihenfolge _Enter_ - man konnte nur 'sort()' nachdem Sie alle Strings z in einer Liste? – patrick
Wenn Sie etwas in eine Datei einfügen, müssen Sie den gesamten Inhalt anschließend an eine neue Position verschieben. Bei der großen Anzahl der Iterationen würde 'string_length * 100000000/2 * 100000000' Bytes im Durchschnitt neu geschrieben werden müssen. Sie müssen also die Sortierung im Speicher vornehmen. –