Maison >développement back-end >Tutoriel Python >Comment puis-je surveiller efficacement les modifications de fichiers spécifiques sans interrogation ?
Surveillance des modifications apportées aux fichiers sans interrogation
Dans les cas où vous devez suivre les modifications apportées à un fichier journal spécifique en temps réel, il est crucial d'éviter en utilisant des techniques de sondage. Une approche plus efficace consiste à utiliser les notifications d'événements du système de fichiers.
Utilisation du module win32file
La fonction win32file.FindNextChangeNotification de la bibliothèque PyWin32 vous permet de surveiller les modifications de fichiers. . Cependant, il n'offre pas directement la possibilité de surveiller un fichier spécifique.
Présentation de Watchdog
Une solution alternative consiste à utiliser la bibliothèque Watchdog. Il propose une API multiplateforme pour surveiller les événements du système de fichiers, notamment la surveillance des modifications apportées à un fichier ou un répertoire spécifique.
Voici comment utiliser Watchdog pour surveiller les modifications de fichiers :
import watchdog.observers import watchdog.events class FileChangeHandler(watchdog.events.FileSystemEventHandler): def on_modified(self, path, filename): # Handle file changes here print(f"File modified: {filename}") observer = watchdog.observers.Observer() observer.schedule(FileChangeHandler(), path, recursive=False) observer.start() observer.join()
Ce script détectera automatiquement les modifications apportées au fichier spécifié et invoquera la méthode on_modified avec le nom de fichier modifié.
Remarque : Utilisation Le chien de garde sur un lecteur réseau mappé peut ne pas fonctionner en raison des limitations dans la façon dont Windows gère les notifications de modification de fichiers sur les volumes réseau.
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!