Maison >développement back-end >Tutoriel Python >Comment puis-je concaténer efficacement plusieurs fichiers texte en Python ?
Concaténation de fichiers texte en Python : une approche élégante
Lorsque vous travaillez avec plusieurs fichiers texte, il devient souvent nécessaire de les concaténer en un seul déposer. Si l'ouverture et la lecture manuelles de chaque fichier ligne par ligne constituent une option viable, elle manque d'élégance et d'efficacité.
Une solution optimisée
Heureusement, Python propose une solution élégante et efficace. solution pour concaténer des fichiers texte. Voici une approche simple mais efficace :
filenames = ['file1.txt', 'file2.txt', ...] with open('path/to/output/file', 'w') as outfile: for fname in filenames: with open(fname) as infile: outfile.write(infile.read())
Avantages de cette approche
Notes supplémentaires
Pour les fichiers extrêmement volumineux, il peut être plus efficace de les concaténer ligne par ligne au lieu de les lire. tout le contenu en mémoire. Voici une approche alternative pour de tels cas :
with open('path/to/output/file', 'w') as outfile: for fname in filenames: with open(fname) as infile: for line in infile: outfile.write(line)
Cette méthode est plus lente mais nécessite une empreinte mémoire plus petite.
Une autre approche intéressante consiste à utiliser la fonction itertools.chain.from_iterable() pour parcourir toutes les lignes de tous les fichiers :
filenames = ['file1.txt', 'file2.txt', ...] with open('path/to/output/file', 'w') as outfile: for line in itertools.chain.from_iterable(itertools.imap(open, filnames)): outfile.write(line)
Bien que cette méthode ait l'avantage d'être plus concise, elle laisse le fichier ouvert descripteurs que le garbage collector doit gérer.
En résumé, la première approche est généralement la solution la plus efficace et la plus élégante pour concaténer des fichiers texte, tandis que les alternatives peuvent être plus adaptées à des scénarios spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!