Maison > développement back-end > Tutoriel Python > Comment puis-je modifier efficacement les lignes d'un fichier sur place sans créer de fichier temporaire ?

Comment puis-je modifier efficacement les lignes d'un fichier sur place sans créer de fichier temporaire ?

DDD
Libérer: 2024-11-29 10:35:10
original
1085 Les gens l'ont consulté

How Can I Efficiently Modify Lines in a File In-Place Without Creating a Temporary File?

Modifier des lignes dans un fichier sur place

Est-il possible d'analyser efficacement un fichier ligne par ligne et de modifier des lignes spécifiques sans créer de fichier copie ou fichier temporaire ?

Réponse :

Oui, c'est Il est possible de simuler l'édition sur place à l'aide d'un fichier de sauvegarde. Le module fileinput fournit les fonctionnalités nécessaires pour cela.

Exemple :

Considérons un script qui supprime les lignes ne répondant pas à une certaine condition des fichiers fournis comme arguments de ligne de commande ou stdin :

import fileinput

for line in fileinput.input(inplace=True, backup='.bak'):
    if some_condition(line):
        print(line)  # The modified line is output to the current file
Copier après la connexion

Utilisation :

Pour supprimer des lignes ne satisfaisant pas some_condition de first_file.txt et second_file.txt, exécutez la commande suivante :

python grep_some_condition.py first_file.txt second_file.txt
Copier après la connexion

Une fois terminé, first_file.txt et second_file.txt ne contiendront que les lignes qui répondent au prédicat some_condition().

Cette approche garantit une modification efficace sur place en créant un fichier de sauvegarde .bak pendant le processus d'édition, préservant ainsi le fichier d'origine si des erreurs se produisent.

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