Écraser un fichier en python

Écraser un fichier en python

Il existe certains cas où le programmeur ne souhaite pas ajouter les données à un fichier déjà existant ou même créer plusieurs doublons du même fichier. Dans de tels scénarios, la meilleure approche consiste à écraser le fichier existant avec un nouveau contenu. L'écrasement est simplement le processus de suppression du contenu de fichier précédent et de placer un nouveau contenu à cet emplacement.

Ce guide expliquera la méthode pour écraser un fichier à l'aide de Python.

Écraser un fichier avec la méthode Open () et le mode «W»

La méthode Open () est utilisée pour ouvrir un fichier dans le langage de programmation Python en prenant le chemin du fichier et le mode d'ouverture, et si le mode d'ouverture est défini sur «w"Ensuite, cela créerait un nouveau fichier. Cela signifie que chaque fois que le code est exécuté, le programme va créer un nouveau fichier avec le même nom qui fera éventuellement le système d'exploitation à remplacer / écraser le fichier.

Exemple:

Pour démontrer le fonctionnement de l'écrasement avec la méthode Open (), le fichier suivant est présent dans le répertoire du programme Python:

Dans le programme Python, ouvrez le fichier avec la méthode Open () et définissez le mode à être «w»:

fichier = ouvert ("démo.txt "," w ")

Après cela, définissez le nouveau contenu du fichier dans une variable de chaîne:

newContent = "Ceci est un nouveau contenu!"

Écrivez le «Nouveau contenu”Au fichier en utilisant la méthode write ():

déposer.Écrire (neftContent)

L'extrait de code complet est:

fichier = ouvert ("démo.txt "," w ")
newContent = "Ceci est un nouveau contenu!"
déposer.Écrire (neftContent)

Après avoir exécuté ce code, le contenu du fichier devient:

La sortie confirme que les données du fichier ont été écrasées.

Remarque latérale: La rédaction de données dans le fichier n'est pas obligatoire, lorsque le fichier est ouvert avec la méthode Open () et l'indicateur «W», le fichier est écrasé instantanément.

Écraser un fichier à l'aide de la méthode truncate ()

Le contenu du fichier peut être écrasé en utilisant la méthode truncate () ainsi que la méthode ouverte () dans «r+" ou en lisant+ mode. Cette méthode ne crée pas un nouveau fichier chaque fois que le programme est exécuté, mais efface plutôt le contenu précédent.

La façon dont la méthode truncate () fonctionne est que, lorsqu'elle est appelée, elle supprime le contenu du fichier de l'emplacement actuel du pointeur à la toute fin du fichier. Pour démontrer cela, nous avons le contenu suivant dans le fichier TXT «Demo»:

Dans le code Python, commencez par ouvrir le fichier dans le mode «R +» ou Reading +:

fichier = ouvert ("démo.txt "," r + ")

Après cela, définissez l'emplacement du pointeur sur le tout début du fichier:

déposer.chercher (0)

Créez le nouveau contenu à ajouter et écrivez-le dans le fichier:

newContent = "la méthode truncate ()"
déposer.Écrire (neftContent)

Si le programme est exécuté à ce stade, le résultat sera:

Le nouveau contenu a eu lieu au début du fichier, mais pour supprimer tout le contenu restant du fichier, appelez la méthode truncate () sur le fichier. Le code complet est:

fichier = ouvert ("démo.txt "," r + ")
déposer.chercher (0)
newContent = "la méthode truncate ()"
déposer.Écrire (neftContent)
déposer.tronquer()

Lorsque ce code est exécuté, ce qui suit sera le contenu du fichier:

De la sortie, il est clair que le contenu de écrasant.

Écraser du contenu spécifique à l'aide de Re.sub () méthode

Si l'utilisateur souhaite ne pas écraser tout le contenu du fichier, remplacer une partie du contenu, alors cela peut être fait par le "sous()«Méthode du«concernant" emballer. Pour démontrer cela, ce qui suit est le contenu du «démo" fichier texte:

Dans le code Python, utilisez les lignes suivantes pour importer les packages requis:

Importer RE
à partir du chemin d'importation Pathlib

Après cela, utilisez la méthode Path () pour définir l'emplacement du fichier:

file_location = path ("démo.SMS")

Lisez le contenu du fichier et placez-les à l'intérieur d'une nouvelle variable:

file_content = file_location.read_text ()

Après cela, utilisez la ligne suivante:

emplacement du fichier.write_text (re.sub ("codeurs", "monde", file_content))

Pour expliquer cette ligne:

  • La méthode rsub () est à la recherche du mot «codeurs» et à le remplacer par «monde» dans la variable «file_content»
  • Après cela, l'utilisation de la méthode write_text () pour écrire le nouveau contenu à l'emplacement du fichier

Extrait de code complet:

Importer RE
à partir du chemin d'importation Pathlib
file_location = path ("démo.SMS")
file_content = file_location.read_text ()
emplacement du fichier.write_text (re.sub ("codeurs", "monde", file_content))

L'exécution de ce code stockera le résultat suivant dans le fichier texte «Demo»:

Cette sortie confirme que les «codeurs» ont été remplacés par le mot «monde» dans le fichier.

Conclusion

La méthode ouverte () intégrée avec le mode «W» peut être utilisée pour créer un nouveau fichier chaque fois que le programme est exécuté, ce qui fait que le programme «écrase» le fichier. Autre que la méthode Open (), l'utilisateur peut utiliser la méthode truncate () pour remplacer le contenu du fichier. Cependant, la méthode truncate () oblige à l'utilisateur à ouvrir le fichier avec la méthode Open () d'abord. Si l'objectif est de remplacer certains contenus pour le fichier, utilisez la méthode Sub () du package «RE».