python - 需要一种方法来确定文件是否已写入

标签 python windows linux pdf file-io

我所处的情况是这样的 - 有一个正在写入文件的进程,有时文件相当大,比如 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/

相关文章:

python - 如何创建用于创建新用户名和密码的代码

windows - git,Windows 上的 SSH_ASKPASS

java - 如何将java类添加到jar文件中的文件夹

windows - 如果程序通过批处理脚本运行,如何启动 wav 文件

linux - 是否可以在 Linux 上更改命名管道的大小?

linux - 如何格式化、枚举和执行 LDAP 查询结果中的每一行?

python - TensorFlow Horovod : NCCL and MPI

python - 除了完全覆盖旧文件之外,还有其他方法可以修改/更新 xml 文件吗?

python - Python 导入中的命名空间

linux - Docker 如何使用/etc/resolv.conf 中定义的名称服务器启动容器