如何检测是否已完成文件处理以停止观看?

时间:2020-10-14 08:30:48

标签: python operating-system filesystems watch

我正在编写一个简单的跨平台文件版本跟踪程序,该程序旨在使用给定的应用程序打开单个临时文件,监视修改,并在处理完成后停止监视并删除该文件。< / p>

到目前为止,我不得不深入研究Windows的注册表项和Linux的桌面项,以找到这些应用程序,通过subprocess.Popen运行它们,然后使用watchdog库监视修改。后来我意识到,不同的应用程序会使用不同的策略来打开/编辑文件,因为有些应用程序会锁定文件(使其保持打开状态,例如对于Microsoft Word),而其他应用程序只是将其复制到内存中并立即关闭文件(例如VSCode或gedit)。我现在正努力寻找的是找到一种通用的或至少可行的Python编码方式来处理不同OS上的不同应用。

检测收视结束的最有效方法是什么?

  • 我应该使它至少可以可靠地处理更流行的应用程序吗?

  • 操作系统可以帮助我吗? (我检查了lsof不会在gedit中显示打开的文件,并且我认为pid返回的Popen并不总是有用的,因为在其中打开文件的应用程序标签页(而不是窗口)保持打开状态。)

0 个答案:

没有答案