如何使pyinotify运行一个文件上的任何修改程序?

我必须观察任何给定的input或对文件中当前内容所做的任何更改,在需要运行位于同一文件夹中的python程序的任何修改时。

我尽我所能了解,但我无法得到任何好的结果。 这将是非常有帮助的,如果有人能帮助我通过这个。

你可以做两件事之一。

  • 你可以编写一个直接挂入inotify API的程序并作出反应来改变事件。 这可能是最优雅的,但超出了ServerFault的范围。
  • 您可以使用inotifywaitinotify-tools一部分)来监视文件,并在发生任何事情时触发脚本。

对于inotifywait,你需要设置一个shell脚本(最有可能是在init.d中)来完成以下内容:

 #!/bin/sh while inotifywait -e modify /path/to/file do /path/to/reaction_script.py done 

当你在像这样的条件中调用inotifywait时不要使用-m开关; 不起作用。