Python:检查新文件是否在文件夹中[重复] - python

This question already has answers here:

How do I watch a file for changes?

(23个答案)

3年前关闭。

我是python的新手,但是我尝试创建一个自动化过程,其中我的代码将侦听目录中的新文件条目。例如,某人可以手动将zip文件复制到一个特定的文件夹中,并且我希望我的代码能够在文件完全复制到该文件夹​​中之后识别该文件。然后,代码可以进行一些操作,但这无关紧要。目前,我的代码仅每5秒检查一次新文件,但这对我来说似乎效率很低。有人可以提出一些更异步的建议吗?

python大神给出的解决方案

实际上,每隔几秒钟检查一次新文件并不是什么坏方法-实际上,这是监视文件系统更改的唯一真正可移植的方法。如果您在Linux上运行,则question linked by @sdolan中的答案将帮助您更有效地检查新文件,但对于问题的另一部分却无济于事。

检测文件已被完全复制要比其初看起来要困难得多。最好的办法是,当检测到新文件时,请等待一段时间未触摸它,然后再进行处理。等待期的长度最好通过实验确定。这是一种平衡的行为:将时间间隔设置得太短,您将冒着对不完整文件进行操作的风险;将其设置得太长,用户将注意到复制操作完成与您的代码对其进行处理之间的延迟。

45码