Modification des lignes dans les fichiers sur place
L'analyse des fichiers ligne par ligne offre une fonctionnalité précieuse pour manipuler le contenu. Cependant, s'il est nécessaire de modifier des lignes dans le fichier au fur et à mesure que vous les parcourez, vous vous demandez peut-être si cela est réalisable.
Édition en ligne
Traditionnellement, la modification de fichiers dans -placer n'a pas été une tâche simple. Cependant, une technique de simulation utilisant des fichiers de sauvegarde, similaire à l'approche adoptée par le module fileinput de Python, peut fournir une solution.
Exemple de script
Considérez cet exemple de script :
#!/usr/bin/env python import fileinput for line in fileinput.input(inplace=True, backup='.bak'): if some_condition(line): print line, # this goes to the current file
Dans ce script, nous lisons à partir des fichiers fournis sur la ligne de commande ou stdin en utilisant fileinput.input. En précisant inplace=True, on active la modification du fichier courant. Le paramètre de sauvegarde crée un fichier de sauvegarde avec une extension .bak.
Opération
Au fur et à mesure que le script parcourt chaque ligne, il évalue une condition donnée (some_condition) sur chaque doubler. Si la condition est remplie, la ligne est réimprimée dans le fichier actuel, le modifiant ainsi sur place.
Exemple d'utilisation
Par exemple, exécuter le script avec :
$ python grep_some_condition.py first_file.txt second_file.txt
entraînera first_file.txt et second_file.txt contenant uniquement les lignes qui satisfont à some_condition() prédicat.
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!