问题标签 [python-watchdog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 在容器内运行 Watchdog 以监控附加目录
我正在尝试从可以访问外部目录的 Docker 容器内部运行 Watchdog。我希望 Watchdog 在此目录树中创建某类文件 (*.json) 时对其做出反应。我已经使用 -v 命令附加了目录结构,我可以很好地查看目录。但是,正常的触发器如
'触摸测试.json'
似乎根本没有任何效果。有什么建议么?
python - Python:停止看门狗对部分传输的文件做出反应?
我之前使用 python 编写了一个脚本,用于监视 windows 目录并将任何新文件上传到远程服务器异地。目的是始终运行它并允许用户将他们的文件转储到那里以与云目录同步。
当添加的文件足够大以至于不能一次全部传输到本地驱动器时,Watchdog 在部分上传时“看到”它并尝试上传部分文件,但失败。如何确保这些文件在上传之前是“完整的”?同样,我在 Windows 上,只能使用 Windows 来完成此任务,否则我会使用 inotify。甚至可以在 Windows 上以这种方式检查文件的“状态”吗?
python - 获取文件复制到文件夹的时间(Python)
我正在尝试编写一个在 Windows 上运行的 Python 脚本。文件每隔几秒就会被复制到一个文件夹,我每 30 秒轮询一次该文件夹,以获取上次轮询后复制到该文件夹的新文件的名称。
我尝试的是使用其中一个os.path.getXtime(folder_path)
函数并将其与我之前民意调查的时间戳进行比较。如果 getXtime 值大于时间戳,那么我将处理这些文件。
我曾尝试使用该函数os.path.getctime(folder_path)
,但这不起作用,因为文件是在我编写脚本之前创建的。我也尝试os.path.getmtime(folder_path)
过,但修改时间通常小于轮询时间戳。
最后,我尝试os.path.getatime(folder_path)
了第一次将文件复制过来的方法。问题是一旦文件在文件夹中,我也会读取它们,因此访问时间会不断更新,我最终会一遍又一遍地读取相同的文件。
我不确定有什么更好的方法或功能来做到这一点。
python-3.x - 使用 watchdog python 监视文件,如果它看到的变化,执行另一个 python 脚本然后再次等待
当我将文件复制到该位置时应用程序工作,它将执行我的脚本,但是脚本不断循环,我希望它停止并等待另一个文件,一旦它已经被写入,不确定我缺少什么
我移动了我的一个目录文件夹,现在它两次写入我的输出 excel 文件,我假设它是因为 1.) 它正在打开,2.) 它正在保存。
python-watchdog - python看门狗观察者不在ubuntu 16.04上工作
我这个脚本不适用于具有 Ubuntu 16.04 的 vagrant
此代码在 mac 上运行良好
python-watchdog - 复制时看门狗触发重复/重复事件
我的 linux (CentOS 6.7) 中有一个 Samba 共享文件夹,我正在尝试将文件从 Windows 复制到映射路径:Y:/callcenter (samba shared),当我将 jar 文件复制到此文件夹时,看门狗会重复该事件复制很多时间...
on_created(self=<watchdog.tricks.LoggerTrick object at 0x162ec10>, event=<FileCreatedEvent: src_path='./333.jar'>)
on_modified(self=<watchdog.tricks.LoggerTrick object at 0x162ec10>, event=<FileModifiedEvent: src_path='./333.jar'>)
on_modified(self=<watchdog.tricks.LoggerTrick object at 0x162ec10>, event=<FileModifiedEvent: src_path='./333.jar'>)
on_modified(self=<watchdog.tricks.LoggerTrick object at 0x162ec10>, event=<FileModifiedEvent: src_path='./333.jar'>)
on_modified(self=<watchdog.tricks.LoggerTrick object at 0x162ec10>, event=<FileModifiedEvent: src_path='./333.jar'>)
on_modified(self=<watchdog.tricks.LoggerTrick object at 0x162ec10>, event=<FileModifiedEvent: src_path='./333.jar'>)
on_modified(self=<watchdog.tricks.LoggerTrick object at 0x162ec10>, event=<FileModifiedEvent: src_path='./333.jar'>)
on_modified(self=<watchdog.tricks.LoggerTrick object at 0x162ec10>, event=<FileModifiedEvent: src_path='./333.jar'>)
直到完成...
这是我的命令
watchmedo log --patterns="*.jar" --ignore-directories --recursive
有人知道解决方案吗?
python-3.x - QMainWindow 在 watchdog.start() 上冻结,如何使它们同时工作?
我有一个想要添加“自动模式”的应用程序。
它调用一个插槽来启动watchdog
FileSystemEventHandler
类,该类依次在文件上执行一些触发watchdog
event
.
通过调试,我看到FileSystemEventHandler
类中的代码执行正确,除了在运行时缺少QMainWindow
实际可操作的功能watchdog
。我如何容纳他们两个?
python - 如何使用看门狗
使用看门狗,我希望它在某个目录中查找更新的文件,如果有更新的文件,它会获取文件名并运行具有文件名的特定脚本并将输出作为 txt 文件发送到不同的目录。当文本文件出现在新目录中时,以某种方式获取文件名并将其设置为变量以进行分析。
前任:
第一个目录 /path/to/first/dir/2017/04/27/nfcapd.20170427 <- 新文件(注意,不是 txt 文件)
运行脚本以使用上面的文件名获取下面该文件中的数据
nfdump - r nfcapd.20170427 > home/users/rmaestas/nfcapd.20170427.txt
文件名存储在一个变量中以与代码一起使用
python - Python Watchdog 问题未触发外部软件保存的文件的事件
看门狗的“文件创建触发事件”是否取决于特定于文件创建方式的任何内容?我发现外部程序将文件保存到目录与将文件复制到目录之间存在差异。
我正在使用看门狗来监视一个目录,触发在该目录中创建的新文件,然后它为这些文件运行一堆其他脚本。但是我遇到了一个奇怪的问题。我正在监视一个目录,随着时间的推移,外部程序将新文件保存到该目录中。当这些文件出现在目录中时,看门狗不会触发。但是,我正在运行监视第二个目录的程序的单独实例,当我将文件复制到此目录时,看门狗会按预期触发并运行代码。
我在 Linux 机器上运行它。
有任何想法吗?
谢谢。
python - 看门狗观察者方法
我是 python 和看门狗的新手,对快速入门示例感到困惑。在示例中,有如下代码块:
我找不到任何关于start
,stop
和join
方法的文档。此外,虽然知道 try except 中的 while 循环可能会使观察者每 5 秒运行一次,但我不明白它是如何工作的?
谁能解释一下这三种方法的作用以及循环如何工作?