В Python существуют различные способы мониторинга изменений файлов. Один из подходов - использование модуля watchdog
.
Для начала нужно установить модуль watchdog
с помощью команды pip install watchdog
. Затем импортировать необходимые классы из watchdog.observers
и watchdog.events
:
import time from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler
Далее нужно создать класс, наследуемый от FileSystemEventHandler
, который будет переопределять методы обработки событий файловой системы, в частности метод on_modified
, который будет вызываться при изменении файла:
class MyHandler(FileSystemEventHandler): def on_modified(self, event): if not event.is_directory: print("Файл был изменен:", event.src_path)
После этого создаем экземпляр класса MyHandler
и Observer
, указывая путь к директории или файлу, который мы хотим мониторить. Затем регистрируем обработчик и запускаем наблюдение:
if __name__ == "__main__": event_handler = MyHandler() observer = Observer() observer.schedule(event_handler, path='<путь_к_файлу_или_директории>', recursive=True) observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join()
Теперь при изменении файла в заданной директории или файле, будет вызываться метод on_modified
у экземпляра класса MyHandler
, и в консоль будет выводиться сообщение о изменении файла.
Таким образом, используя модуль watchdog
в Python, вы можете мониторить изменение файлов и выполнять определенные действия в зависимости от обнаруженных изменений.