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

时间:2010-06-18 13:59:19

标签: python windows linux pdf file-io

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

理想地

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

足够好:

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

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

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:0)

我最终为我们的情况解决了这个问题。事实证明,正在编写文件的过程让它们完全打开,因此我们所要做的就是尝试打开它们以进行读取访问 - 当被拒绝时它们正在使用中。