Sortieren Sie große Dateien mit Python

Ich habe das Verhalten von subprocess.Popen gelernt, also vergiss es nicht.

Wenn ich mit großen Dateien in Python arbeite, verwende ich sehr oft Iteratoren, um sequentielle Verarbeitung durchzuführen, damit ich nicht alles in den Speicher lege. Die Funktion "sortiert ()" kann jedoch nicht für große Dateien verwendet werden. Dies liegt daran, dass der Iterator vor der Verarbeitung in eine Liste konvertiert wird.

Wenn Sie eine große Datei sortieren möchten, verwenden Sie sort auf der Unix-Systemseite.


import subprocess
def sorted_file_generator(filename):
    proc = subprocess.Popen(['sort', filename], stdout=subprocess.PIPE)
    while True:    #Empfangen Sie Zeile für Zeile mit while
        line = proc.stdout.readline()
        if line:
            yield line.decode('utf-8').strip()    #Da der Rückgabewert ein Bytecode ist, dekodieren Sie ihn
        else:
            break

Dieses Beispiel ist python3. Im Fall von 2 sollte die Behandlung von Bytes unterschiedlich sein

Recommended Posts

Sortieren Sie große Dateien mit Python
Sortieren von Bilddateien mit Python (3)
Bilddateien mit Python sortieren
Integrieren Sie PDF-Dateien in Python
TXT-Dateien mit Python lesen
[Python] Sortieren
Python #sort
Extrahieren Sie Zip-Dateien rekursiv mit Python
Bearbeiten von EAGLE .brd-Dateien mit Python
[Python] POST-WAV-Dateien mit Anforderungen [POST]
Mit OpenSSL mit Python 3 verschlüsselte Dateien entschlüsseln
Sortieren Sie große Textdateien in Python
Behandeln Sie Excel-CSV-Dateien mit Python
Lesen Sie Dateien parallel zu Python
[Python] Einzeilige Starlin-Sortierung mit 50 Zeichen
Verarbeiten Sie große Excel-Dateien mit Python, um die Produktivität zu verbessern
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
FizzBuzz in Python3
Scraping mit Python
Spielen Sie eine Audiodatei von Python mit Interrupt ab
Statistik mit Python
Scraping mit Python
Python mit Go
Twilio mit Python
Spielen Sie mit 2016-Python
Mit openssl verschlüsselte Dateien werden mit openssl aus Python entschlüsselt
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
Lesen und Schreiben von JSON-Dateien mit Python
Laden Sie mit Python Dateien im Web herunter
[Easy Python] Lesen von Excel-Dateien mit openpyxl
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
[Easy Python] Lesen von Excel-Dateien mit Pandas
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Behandeln Sie Zip-Dateien mit japanischen Dateinamen in Python 3
Ziehen Sie eine lokale Datei mit Selenium (Python) per Drag & Drop.
Zeichenkodierung beim Umgang mit Dateien in Python 3
Laden Sie Dateien mit Lambda (Python) auf Google Drive hoch.
Lesen und Schreiben passt Dateien mit Python (Memo)
Konvertieren Sie mehrere Protodateien gleichzeitig mit Python
Lesen Sie WAV-Dateien nur mit dem Python-Standardpaket
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Django 1.11 wurde mit Python3.6 gestartet
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.