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

Kho*_*rak 6 python linux windows pdf file-io

我所处的情况是这样的 - 有一个进程写入文件,有时文件相当大,比如400 - 500MB.我需要知道什么时候写完了.我怎么能确定这个?如果我查看目录,我会在那里看到它,但可能没有写完.此外,这需要远程完成 - 例如在同一个内部局域网上,而不是在同一台计算机上,通常想要知道文件写入完成的过程是在Linux机器上运行的,其中包含写入文件的进程和文件本身在Windows框中.没有桑巴不是一个选择.与该窗口框上的服务进行xmlrpc通信是一种选择,也可以使用snmp检查是否可行.

理想的情况下

  • 可在Linux或Windows上运行 - 这意味着该解决方案与操作系统无关.
  • 适用于任何类型的文件.

够好了:

  • 仅适用于Windows,但可以通过某些库或任何可以通过Python访问的库来完成.
  • 仅适用于PDF文件.

当前最好的想法是定期从Windows框中的某个进程打开有问题的文件,并查看检查PDF结束标记的最后字节并考虑eol差异,因为该文件可能是在Linux或Windows上创建的.

Jer*_*jer 6

您可以采取许多方法.我会尝试使用写访问权限打开该文件.如果成功则没有其他人写入该文件.

如果您无法直接访问计算机之间的文件,请围绕此概念构建Web服务.


Kho*_*rak 1

我最终根据我们的情况解决了这个问题。事实证明,写出文件的过程以独占方式打开了它们,因此我们所要做的就是尝试打开它们以进行读访问 - 当拒绝使用它们时。