обнаружьте новые или измененные файлы с Python [дубликат]

Yahoo css основа поможет. Стандартизировать форматирование Вас захочет сброс и основу.

5
задан Community 23 May 2017 в 12:18
поделиться

3 ответа

Вы можете использовать gio , который является частью файловой системы GLib (в привязках python GLib)

import gio

def directory_changed(monitor, file1, file2, evt_type):
   if (evt_type in (gio.FILE_MONITOR_EVENT_CREATED,
       gio.FILE_MONITOR_EVENT_DELETED)):
       print "Changed:", file1, file2, evt_type

gfile = gio.File(".")
monitor = gfile.monitor_directory(gio.FILE_MONITOR_NONE, None)
monitor.connect("changed", directory_changed)

, однако ваша программа должна запускать основной цикл GLib для событий прибыть. Один из быстрых способов проверить это - использовать:

import glib
ml = glib.MainLoop()
ml.run()

GLib - это библиотека высокого уровня, которая хорошо подходит для приложений. Вам не нужно заботиться о том, какую базовую систему он использует для мониторинга файлов.


Теперь я вижу, что вы используете Fedora Core 2. Действительно, версия 2? Это могло быть слишком старым для использования GIO в GLib. Упомянутый Pyinotify может быть лучшим решением, хотя и менее портативным.

13
ответ дан 18 December 2019 в 09:08
поделиться

Если вы можете использовать PyQt, то есть QFileSystemWatcher, который делает именно это.

1
ответ дан 18 December 2019 в 09:08
поделиться

Если вы используете Linux, вы можете попробовать pyinotify , который действует как объектно-ориентированная оболочка для системных вызовов inotify (7) . На веб-сайте проекта есть довольно простые руководства и примеры.

4
ответ дан 18 December 2019 в 09:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: