Lesen Sie Dateien parallel zu Python

Was ist das

Es ist ein Memorandum.

Datensatz aktualisieren

2020/5/21 Beschreibung zu python3.8 hinzugefügt

Umgebung

Was du machen willst

sample.py


import os

def hoge(filename):
  #Lesen Sie die Datei und verarbeiten Sie sie.
  return data

data = [hoge(filename) for filename in os.listdir(".")]

Ich würde gerne so etwas machen, aber wenn ich diesen Code so drehe, wie er ist, wird nur ein Kern verwendet, also ist es Zeitverschwendung. Ich möchte es parallel machen.

Parallelverarbeitung

sample.py


from multiprocessing import Pool
import os

def hoge(filename):
  #Lesen Sie die Datei und verarbeiten Sie sie.
  #Diese Funktion kann unverändert bleiben
  return data

with Pool() as p:
    data = p.map(hoge, os.listdir("."))

Arbeitet parallel zu.

Übrigens der Fortschrittsbalken

sample.py


from tqdm import tqdm
from multiprocessing import Pool
import os

with Pool() as p:
    imap = p.imap(hoge, os.listdir("."))
    data = list(tqdm(imap, total=len(os.listdir("."))))

Über Python 3.8

Es steckt aus irgendeinem Grund fest. Dies ist eine vorläufige Antwort,

sample.py



from multiprocessing import Pool
import os

def hoge(filename):
  #Lesen Sie die Datei und verarbeiten Sie sie.
  #Diese Funktion kann unverändert bleiben
  return data

if __name__=="__main__":
    with Pool() as p:
        data = p.map(hoge, os.listdir("."))

Es scheint so zu funktionieren. Es scheint jedoch, dass die mit viel Aufwand erstellte Variable `data``` nur im Rahmen von` if name __ == " main __" `` `referenziert werden kann.

Bisher war es auch möglich, auf Jupyter parallel zu laufen, in Python 3.8 ist dies jedoch nicht möglich.

Recommended Posts

Lesen Sie Dateien parallel zu Python
Lesen und schreiben Sie JSON-Dateien mit Python
Lesen von Zeichen in Bildern mit Python OCR
Lesen Sie DXF mit Python
Paralleler Download mit Python
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Lesen Sie Tabellendaten in einer PDF-Datei mit Python
Behandeln Sie Zip-Dateien mit japanischen Dateinamen in Python 3
Zeichenkodierung beim Umgang mit Dateien in Python 3
Parallele Verarbeitung ohne tiefe Bedeutung in Python
Lesen Sie WAV-Dateien nur mit dem Python-Standardpaket
Lesen Sie CSV mit Python-Pandas
Betreiben Sie LibreOffice mit Python
Schaben mit Chromedriver in Python
Führen Sie Python unittest parallel aus
Lesen Sie Eulers Formel in Python
Umgang mit Sounds in Python
Scraping mit Selen in Python
Sortieren von Bilddateien mit Python (3)
Scraping mit Tor in Python
Lesen Sie XML mit dem in Python angegebenen Namespace
Bilddateien mit Python sortieren
Lesen Sie Outlook-E-Mails mit Python
Kombiniert mit Ordnungszahl in Python
Integrieren Sie PDF-Dateien in Python
TXT-Dateien mit Python lesen
Lesen Sie die Fortran-Ausgabe mit Python
Lesen von JSON-Daten mit Python
Lesen und Schreiben von Dateien mit Slackbot ~ Bot-Entwicklung mit Python ~
Verschieben von CSV-Dateien mit Python Teil 1
Testen mit Zufallszahlen in Python
[Python] Einfache Parallelverarbeitung mit Joblib
GOTO in Python mit erhabenem Text 3
Extrahieren Sie Zip-Dateien rekursiv mit Python
Lesen Sie die Protokollpufferdaten mit Python3
Arbeiten mit LibreOffice in Python: Importieren
Scraping mit Selen in Python (Basic)
Bearbeiten von EAGLE .brd-Dateien mit Python
Bearbeiten Sie Dateien und Ordner in Python
[Python] POST-WAV-Dateien mit Anforderungen [POST]
Numer0n mit Elementen, die mit Python erstellt wurden
Lesen und verwenden Sie Python-Dateien aus Python
Umgang mit JSON-Dateien in Python
Öffnen Sie UTF-8 mit Stückliste in Python
Laden Sie Google Drive-Dateien in Python herunter
Lesen Sie PNG-Chunks in Python (Klassenausgabe)
[R] [Python] Memo zum Lesen mehrerer CSV-Dateien in mehreren Zip-Dateien
Mit OpenSSL mit Python 3 verschlüsselte Dateien entschlüsseln
Verwenden Sie rospy mit virtualenv in Python3
Sortieren Sie große Textdateien in Python
Behandeln Sie Excel-CSV-Dateien mit Python
Verwenden Sie Python in pyenv mit NeoVim
Exportieren und Ausgeben von Dateien in Python
Passwort für Lehrbuch mit Python generieren
Verwenden Sie OpenCV mit Python 3 in Window
[Internal_math (1)] Lesen mit Green Coder AtCoder Library ~ Implementierung in Python ~
Bis zum Umgang mit Python in Atom
Einfache parallele Ausführung mit Python-Unterprozess
Laden Sie fbx aus Python mitinema4d
Beginnen Sie mit Python mit Blender