Maison  >  Article  >  développement back-end  >  Comment modifier efficacement plusieurs fichiers en Python à l'aide de l'instruction « with open » ?

Comment modifier efficacement plusieurs fichiers en Python à l'aide de l'instruction « with open » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-17 03:00:03207parcourir

How to efficiently modify multiple files in Python using the

Ouvrir plusieurs fichiers avec l'instruction "with open" en Python

Modifier plusieurs fichiers simultanément soulève la question de savoir comment effectuer cette opération efficacement tout en préservant l'intégrité des fichiers. L'utilisation de l'instruction "with open" ainsi que la gestion du contexte offre une solution pratique.

Utilisation de "with open" avec plusieurs fichiers

Dans les versions 2.7 et supérieures de Python, le la syntaxe a été révisée pour permettre plusieurs ouvertures de fichiers dans une seule instruction « with open » :

with open('a', 'w') as a, open('b', 'w') as b:
    do_something()

Cela élimine le besoin de « with » imbriqué ou l'utilisation de "contextlib.nested()."

Approches alternatives

Dans les rares cas où le nombre de fichiers à ouvrir est variable, "contextlib. ExitStack" propose une solution flexible disponible dans Python 3.3 et versions ultérieures :

with ExitStack() as stack:
    files = [stack.enter_context(open(fname)) for fname in filenames]
    # Do something with "files"

Cependant, le traitement séquentiel des fichiers est souvent plus adapté, surtout lorsqu'il s'agit d'un nombre variable de fichiers :

for fname in filenames:
    with open(fname) as f:
        # Process f

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!

Déclaration:
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