Maison > développement back-end > Tutoriel Python > Comment puis-je implémenter le verrouillage de fichiers multiplateforme en Python pour empêcher les modifications simultanées ?

Comment puis-je implémenter le verrouillage de fichiers multiplateforme en Python pour empêcher les modifications simultanées ?

Linda Hamilton
Libérer: 2024-12-02 16:13:19
original
868 Les gens l'ont consulté

How Can I Implement Cross-Platform File Locking in Python to Prevent Concurrent Modification?

Verrouillage d'un fichier en Python pour un accès simultané

En Python, la protection des fichiers contre les tentatives de modification simultanées par plusieurs processus nécessite un mécanisme de verrouillage de fichier efficace . Cependant, trouver une solution multiplateforme s'est avéré difficile.

Mise à jour (juin 2024)

Python moderne offre plusieurs options fiables de verrouillage de fichiers multiplateformes :

  • filelock : Un outil robuste et largement utilisé bibliothèque.
  • Portalocker : autre choix populaire, connu pour sa simplicité.
  • oslo.concurrency : fournit des utilitaires de synchronisation avancés pour gérer l'accès aux fichiers sur processus.

Original Réponse

Auparavant, une solution personnalisée était implémentée et partagée (maintenant archivée). Voici comment cela fonctionne :

from filelock import FileLock

with FileLock("myfile.txt.lock"):
    # File operations with exclusive access
    print("Lock acquired.")
Copier après la connexion

Cette solution utilise la classe FileLock pour créer un fichier de verrouillage nommé "myfile.txt.lock". Pendant que le bloc with est actif, le script Python principal conserve un accès exclusif au fichier, empêchant d'autres processus de le modifier. À la fin du blocage, le verrou est automatiquement libéré.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal