Maison  >  Article  >  développement back-end  >  L'accès simultané aux fichiers pour la lecture et l'écriture sans ouvertures et fermetures multiples est-il possible ?

L'accès simultané aux fichiers pour la lecture et l'écriture sans ouvertures et fermetures multiples est-il possible ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-20 18:30:31183parcourir

Is Simultaneous File Access for Reading and Writing without Multiple Opening and Closing Possible?

Accès simultané aux fichiers : lecture et écriture

Question :

Est-il possible d'ouvrir un fichier pour lire et écrire simultanément, sans avoir à l'ouvrir et le fermer deux fois ?

Réponse :

Oui, vous pouvez ouvrir un fichier en « lecture et écriture » ", qui vous permet à la fois de lire et d'écrire dans le fichier sans le fermer ni le rouvrir. Le code suivant le démontre :

<code class="python">with open(filename, "r+") as f:
    data = f.read()
    f.seek(0)
    f.write(output)
    f.truncate()</code>

Dans ce code, nous :

  1. Ouvrez le fichier en mode "r", qui permet à la fois la lecture et l'écriture.
  2. Lisez l'intégralité du fichier à l'aide de f.read() et stockez-le dans la variable de données.
  3. Utilisez f.seek(0) pour réinitialiser le pointeur de fichier au début du fichier.
  4. Écrivez les données souhaitées dans le fichier en utilisant f.write(output).
  5. Utilisez f.truncate() pour écraser les données existantes dans le fichier par les nouvelles données.

En utilisant cette approche, vous pouvez lire le contenu actuel du fichier, apporter les modifications nécessaires et les réécrire sans avoir besoin de fermer et de rouvrir le fichier.

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