python - 等到文件复制/上传完成
问题描述
我必须等到文件复制/上传完全使用 python 完成(首选方法),bash/shell 也很好(我将从 python 调用)
我已经共享了 nfs 目录 /data/files_in/,如果有人将文件复制/上传到 /data/files_in/ 目录,我应该通知其他应用程序,只有在完成文件复制/上传完成后
我当前检查文件的代码是否已完成复制
while True:
current_size = Path(file_path).stat().st_size
time.sleep(5)
result_size = Path(file_path).stat().st_size
if result_size == current_size:
break
# Notify your application
它仅适用于小文件,对于像 100G 文件这样的大文件,它无法正常工作。
我增加了一个计时器,但有时它仍然会失败,并且基于计时器的方法似乎不是一个值得依赖的好主意。
有没有其他方法,我可以实现代码来解决这个问题?
操作系统:Linux,Cent os Python 版本:3.9
解决方案
我无法发表评论,所以我会在这里问。结果大小不应该比当前大小更大(或至少不同)以便完成文件上传并因此停止循环吗?
推荐阅读
- c - c语言中的函数
- docker - ECS docker容器cpu和内存大小
- docker - 如何在服务启动时使用 puppet 配置 docker 守护进程
- android - 如何在android的片段内禁用和启用viewpager布局的按钮
- go - cmd.ExtraFiles 尝试通过管道传输时失败
- c# - 如何创建与 SQL 服务器链接并具有审批功能的 windows 窗体应用程序 (.exe) (PDF/PNG, 冲压审批)
- kubernetes - 在不重新启动 Pod 的情况下更改 Pod 优先级?
- spring-boot - 从不同的 Spring Boot 项目连接到嵌入式 ActiveMQ
- c - 具有 2d 数组问题的 C 游戏板
- python-3.x - 气流 1.10:sqlalchemy.orm.exc.NoResultFound:没有找到一个()的行