Lire des fichiers en parallèle avec Python

Qu'est-ce que c'est

C'est un mémorandum.

Mettre à jour l'enregistrement

2020/5/21 Ajout de la description de python3.8

environnement

Chose que tu veux faire

sample.py


import os

def hoge(filename):
  #Lisez le fichier et effectuez un traitement.
  return data

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

J'aimerais faire quelque chose comme ça, mais si je transforme ce code tel quel, il n'utilisera qu'un seul noyau, donc c'est une perte de temps. Je veux le faire en parallèle.

Traitement parallèle

sample.py


from multiprocessing import Pool
import os

def hoge(filename):
  #Lisez le fichier et effectuez un traitement.
  #Cette fonction peut être laissée telle quelle
  return data

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

Fonctionne en parallèle avec.

Au fait, la barre de progression

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("."))))

À propos de Python 3.8

Il est bloqué pour une raison quelconque. Ceci est une réponse provisoire,

sample.py



from multiprocessing import Pool
import os

def hoge(filename):
  #Lisez le fichier et effectuez un traitement.
  #Cette fonction peut être laissée telle quelle
  return data

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

Cela semble fonctionner en faisant. Cependant, il semble que la variable datacréée avec beaucoup d'efforts ne puisse être référencée que dans le cadre deif name == "main" `` `.

De plus, auparavant, il était possible de s'exécuter en parallèle sur Jupyter, mais ce n'est pas possible dans Python 3.8.

Recommended Posts

Lire des fichiers en parallèle avec Python
Lire et écrire des fichiers JSON avec Python
Lire des caractères dans des images avec Python OCR
Lire DXF avec python
Téléchargement parallèle avec Python
[Python] Récupérez les fichiers dans le dossier avec Python
Lire les données de la table dans un fichier PDF avec Python
Gérer les fichiers zip avec des noms de fichiers japonais dans Python 3
Encodage de caractères lors du traitement de fichiers en Python 3
Traitement parallèle sans signification profonde en Python
Lire les fichiers wav avec uniquement le package standard Python
Lire csv avec des pandas python
Exploitez LibreOffice avec Python
Grattage avec chromedriver en python
Exécuter Python unittest en parallèle
Lire la formule d'Euler en Python
Gérer les sons en Python
Grattage avec du sélénium en Python
Tri des fichiers image avec Python (3)
Grattage avec Tor en Python
Lire du XML avec un espace de noms spécifié en Python
Tri des fichiers image avec Python
Lire les e-mails Outlook avec Python
Combiné avec ordinal en Python
Intégrez des fichiers PDF avec Python
Lire des fichiers .txt avec Python
Lire la sortie Fortran avec python
Lire des données json avec python
Lire et écrire des fichiers avec Slackbot ~ Développement de bot avec Python ~
Translocation de fichiers CSV avec Python Partie 1
Tester avec des nombres aléatoires en Python
[Python] Traitement parallèle facile avec Joblib
GOTO en Python avec Sublime Text 3
Extraire récursivement des fichiers zip avec python
Lire les données des tampons de protocole avec Python3
Travailler avec LibreOffice en Python: import
Scraping avec Selenium en Python (Basic)
Manipulation des fichiers EAGLE .brd avec Python
Manipuler des fichiers et des dossiers en Python
[Python] Fichiers wav POST avec requêtes [POST]
Numer0n avec des objets fabriqués avec Python
Lire et utiliser des fichiers Python à partir de Python
Gestion des fichiers JSON en Python
Ouvrez UTF-8 avec BOM en Python
Téléchargez des fichiers Google Drive en Python
Lire des morceaux PNG en Python (édition de classe)
[R] [Python] Memo pour lire plusieurs fichiers csv dans plusieurs fichiers zip
Décrypter les fichiers cryptés avec OpenSSL avec Python 3
Utiliser rospy avec virtualenv dans Python3
Trier les gros fichiers texte en Python
Gérer les fichiers Excel CSV avec Python
Utiliser Python mis en pyenv avec NeoVim
Exporter et exporter des fichiers en Python
Générer un mot de passe pour le manuel avec python
Utiliser OpenCV avec Python 3 dans Window
[Internal_math (1)] Lire avec la bibliothèque AtCoder Green Coder ~ Implémentation en Python ~
Jusqu'à traiter de python dans Atom
Exécution parallèle facile avec le sous-processus python
Charger fbx depuis python avec cinema4d
Démarrez avec Python avec Blender