我所处的情况是这样的 - 有一个正在写入文件的进程,有时文件相当大,比如 400 - 500MB。我需要知道什么时候写完。我怎样才能确定这一点?如果我查看目录,我会在那里看到它,但它可能还没有完成写入。另外,这需要远程完成——就像在同一个内部 LAN 上,但不是在同一台计算机上,通常想要知道文件写入何时完成的进程在 Linux 机器上运行,该进程正在写入文件和文件本身在 Windows 框上。没有桑巴不是一种选择。与该 Windows 框上的服务的 xmlrpc 通信是一个选项,也可以使用 snmp 检查它是否可行。
理想情况下
- 适用于 Linux 或 Windows - 这意味着该解决方案独立于操作系统。
- 适用于任何类型的文件。
足够好:
- 只能在 Windows 上工作,但可以通过一些库或任何可以使用 Python 访问的库来完成。
- 仅适用于 PDF 文件。
目前最好的想法是定期从 windows 框上的某个进程打开有问题的文件,并查看最后的字节,检查 PDF 结束标记并考虑 eol 差异,因为该文件可能是在 Linux 或 Windows 上创建的.
最佳答案
您可能可以采用多种方法。我会尝试使用写访问权限打开文件。如果成功,则没有其他人写入该文件。
如果您无法在机器之间直接访问文件,请围绕此概念构建 Web 服务。
关于python - 需要一种方法来确定文件是否已写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3070210/