python脚本在用户修改或添加文件到Linux目录时调用
python脚本在用户修改或添加文件到Linux目录时调用
我在我的Ubuntu机器上有一个文件目录。我运行的是Python 2.6。为了进行排序、搜索、定位等操作,所有这些文件都在数据库中表示。我想在每次添加或修改文件时触发一个Python脚本来更新该数据库。
基本上,在添加、移动、删除或重命名文件时,将调用一个脚本来对SQL数据库进行"update"查询。
类似的帖子在这里。然而,我希望能直接将这样一个文件输入到脚本中 - 而且我感到困惑 - pynotify还是gio?什么可以检测到已删除的文件?看起来这些都不是最好的选择。
对于如何做到这一点有什么想法吗?
问题的出现原因:
在Linux目录中修改或添加文件后,需要调用Python脚本进行处理。为了实现这个功能,可以使用incron工具。
解决方法:
1. 安装incron工具:
sudo apt-get install incron
2. 配置incron:
incrontab -e
3. 在打开的文件中添加以下内容:
/path/to/directory IN_MODIFY,IN_CREATE python /path/to/script.py $@/$#
其中,`/path/to/directory`是要监听的目录的路径,`python /path/to/script.py`是要执行的Python脚本的路径。
4. 保存并关闭文件。
现在,当在指定的目录中修改或添加文件时,incron将调用指定的Python脚本,并将新文件名作为参数传递给脚本。您可以在脚本中使用这些参数进行后续处理。