Подтвердить что ты не робот

Как я могу "посмотреть" файл для изменения/изменения?

Я хочу вызвать мой браузер chrome или firefox, когда файл, указанный мной, будет изменен. Как я могу "посмотреть" этот файл, чтобы что-то сделать, когда он изменился?

Программно, кажется, шаги... в основном устанавливают бесконечный интервал каждую секунду или около того и кэшируют начальную дату модификации, а затем сравнивают дату каждую секунду, когда она меняет вызов X.

4b9b3361

Ответ 1

Как уже отмечалось, вы можете использовать pyinotify:

например:.

import webbrowser
import pyinotify

class ModHandler(pyinotify.ProcessEvent):
    # evt has useful properties, including pathname
    def process_IN_CLOSE_WRITE(self, evt):
            webbrowser.open(URL)

handler = ModHandler()
wm = pyinotify.WatchManager()
notifier = pyinotify.Notifier(wm, handler)
wdd = wm.add_watch(FILE, pyinotify.IN_CLOSE_WRITE)
notifier.loop()

Это более эффективно, чем опрос. Ядро сообщает вам, когда оно выполняет операцию, без необходимости постоянно спрашивать.

Ответ 2

В ядре Linux есть API мониторинга файлов, называемый inotify. Связывание с python pyinotify.

С его помощью вы можете создавать то, что хотите.

Ответ 3

Установите инструменты inotify и напишите простую оболочку script, чтобы посмотреть файл.

Ответ 4

Другой вариант - использовать контрольную сумму. Вы можете использовать шаблон, похожий на нос nosy.py. Я использую один из dingus, чтобы проверить мой каталог на предмет его модификации и запустить тестовый набор.

Ответ 5

Используйте FAM, чтобы поместить монитор в файл.

Ответ 7

используйте быструю хэш-функцию, задание cron и выходите!

Кроме того, это выглядит актуальным: http://en.wikipedia.org/wiki/Inotify

Ответ 8

По-видимому, watchdog работает как в Linux, так и в OSX, который может использоваться для мониторинга изменений в каталоге, а также отличный пример документация. Он также работает с python3.x в случае, если вы не хотите принудительно использовать python2.x