Вопрос: How do I watch a file for changes using Python? предлагает использовать сторожевой таймер, но я нашел, что он смог посмотреть только каталог, а не файл. watchdog-test.py приведен пример сценария Watchdog в:Как посмотреть файл, а не каталог изменений с помощью Python?
$ python watchdog-test.py ab_test_res.sh &
[1] 30628
[email protected]:~/laike9m$ Traceback (most recent call last):
File "watchdog-test.py", line 15, in <module>
observer.start()
File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/api.py", line 255, in start
emitter.start()
File "/usr/local/lib/python2.7/dist-packages/watchdog/utils/__init__.py", line 111, in start
self.on_thread_start()
File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/inotify.py", line 121, in on_thread_start
self._inotify = InotifyBuffer(path, self.watch.is_recursive)
File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/inotify_buffer.py", line 35, in __init__
self._inotify = Inotify(path, recursive)
File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/inotify_c.py", line 187, in __init__
self._add_dir_watch(path, recursive, event_mask)
File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/inotify_c.py", line 363, in _add_dir_watch
raise OSError('Path is not a directory')
OSError: Path is not a directory
Так что лучшее решение? Я использую Linux (Ubuntu 12.04). Кстати, я не хочу использовать опрос.
Какая операционная система? Я не знаю точно, но я думаю, что Windows поддерживает только просмотр каталогов. –
@ColonelThirtyTwo Linux. – laike9m
Загляните в inotify http://linux.die.net/man/7/inotify –