需要一种方法来确定文件是否被写入

我所处的情况是这样的 – 有一个写入文件的过程,有时文件比较大,比如400-500MB。 我需要知道什么时候写完了。 我怎样才能确定这一点? 如果我查看目录,我会在那里看到它,但是可能没有写完。 另外,这需要远程完成 – 就像在同一个内部局域网上,而不是在同一台计算机上一样,通常情况下,想要知道文件写入完成的过程是在一个正在写入文件的进程的Linux机器上运行的,该文件本身在一个窗口框。 没有桑巴不是一个选项。 xmlrpc通信到该窗口上的服务是一个选项,以及使用snmp来检查是否可行。

理想的情况下

  • 在Linux或Windows上运行 – 意味着解决scheme与操作系统无关。
  • 适用于任何types的文件。

够好了:

  • 只适用于Windows,但可以通过一些库或任何可以使用Python访问。
  • 仅适用于PDF文件。

当前最好的想法是定期打开窗口框上的某个进程的问题文件,并查看最后一个字节检查PDF结束标记,并考虑到EOL差异,因为该文件可能已经在Linux或Windows上创build。

Solutions Collecting From Web of "需要一种方法来确定文件是否被写入"

可能有很多方法可以采取。 我会尝试打开具有写权限的文件。 如果成功,那么没有其他人正在写入该文件。

如果您没有直接访问计算机之间的文件,则围绕此概念构建Web服务。

我最终解决了我们的情况。 事实证明,把这些文件写出来的过程让他们打开了,所以我们所要做的就是试着打开它们来读取访问权限 – 当它们被拒绝时,它们就被使用了。