Maison > développement back-end > Tutoriel Python > Comment puis-je concaténer élégamment des fichiers texte en Python ?

Comment puis-je concaténer élégamment des fichiers texte en Python ?

DDD
Libérer: 2024-12-12 22:27:10
original
226 Les gens l'ont consulté

How Can I Elegantly Concatenate Text Files in Python?

Une solution élégante pour concaténer des fichiers texte en Python

Lorsque vous traitez plusieurs fichiers texte, le besoin de les concaténer en un seul fichier se pose souvent. Bien que l'utilisation de l'approche ligne par ligne avec les méthodes open(), readline() et write() puisse sembler simple, elle manque d'élégance.

Python propose des méthodes plus sophistiquées pour cette tâche. Considérez les approches suivantes :

Pour les fichiers volumineux :

filenames = ['file1.txt', 'file2.txt', ...]
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)
Copier après la connexion

Cette méthode parcourt chaque fichier, lisant et écrivant des lignes de manière séquentielle. C'est efficace pour les gros fichiers.

Pour les petits fichiers :

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())
Copier après la connexion

Pour les fichiers plus petits, cette approche lit l'intégralité du contenu de chaque fichier en même temps, réduisant ainsi le nombre des opérations sur les fichiers.

Une alternative utilisant itertools :

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)
Copier après la connexion

Cette méthode utilise le module itertools pour parcourir les lignes de plusieurs fichiers comme s'il s'agissait d'une seule liste. C'est moins efficace en termes de mémoire, mais peut être considérée comme une approche intrigante.

En employant ces techniques plus élégantes, vous pouvez concaténer des fichiers texte en Python avec plus de facilité et d'efficacité, en répondant à des scénarios impliquant à la fois des fichiers grands et petits.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal