如何使用watchmedo忽略以句点开头的文件?

ToB*_*ced 3 python watchdog

我的文件编辑器创建带有前缀的临时文件..

我在跑步:

watchmedo shell-command -p '*.py' -R -c 'echo "${watch_src_path}"'
Run Code Online (Sandbox Code Playgroud)

当我正在编辑时,我看到临时文件的事件,然后文件保存两个事件(可能是因为它执行了删除和写入).

我想看一个事件 - 只有当我保存文件时.

有没有办法让我只使用CLI执行此操作?我对创建python脚本并直接使用watchdog API不感兴趣.

ben*_*hor 5

使用--ignore-patterns(-i)开关.

watchmedo shell-command \
    -p'*.py' \
    -R \
    -c'echo "${watch_src_path}"'\
    --ignore-patterns="*/.*"
Run Code Online (Sandbox Code Playgroud)

请注意,watchmedo在完整的watch_src_path上匹配,因此您的忽略模式不能".*"像您最初想的那样简单.通配符的所有陷阱都是有效的,所以如果你做的事情就像在隐藏目录中工作一样愚蠢,/path/to/some/.hidden/dir那么你必须有一个更高级的模式.

如果与目录相关的事件也引起你的烦恼,你也可能需要--ignore-directories(-D)开关(这个只是布尔值,不需要参数).