我想找出一种方法来提醒 python 脚本文件已完成复制。这是场景:
to_print
脚本通过不断轮询来监视文件夹os.listdir()
。每次
os.listdir()
返回一个文件列表,其中存在一个以前没有见过的文件,脚本对该文件执行一些操作,包括打开它和操作它的内容。
当文件很小时这很好,并且将文件从其原始源复制到正在监视的目录所花费的时间少于直到下一次轮询之前的剩余时间os.listdir()
。但是,如果轮询并找到文件,但它仍在复制过程中,则当脚本尝试对其执行操作时,文件内容已损坏。
相反,我希望能够(使用os.stat
或以其他方式)知道当前正在复制文件,并等待它完成,直到我采取行动为止。
我目前的想法是os.stat()
每次找到新文件时使用,然后等到下一次轮询并比较自上次轮询以来修改/创建的日期,如果它们保持不变,则该文件是“稳定的”,否则继续轮询,直到轮询为止。我不确定这是否可行,因为我不太熟悉 Linux/Unix 如何更新这些值。