我是python的新手,但我正在尝试创建一个自动化流程,我的代码将在目录中侦听新文件条目。例如,有人可以手动将zip文件复制到特定文件夹中,并且我希望我的代码在文件完全复制到文件夹后识别该文件。然后代码可以做一些操作,但这是无关紧要的。我目前的代码只是每隔5秒检查一个新文件,但这对我来说似乎效率低下。有人可以建议更异步的东西吗?
答案 0 :(得分:2)
每隔几秒检查一次新文件实际上并不是一种糟糕的方法 - 实际上,它是监视文件系统更改的唯一真正可移植的方式。如果您在Linux上运行,question linked by @sdolan中的答案将帮助您更有效地检查新文件,但它们无法帮助您处理问题的其他部分。
检测到文件已完全复制比首次出现要困难得多。最好的方法是,当检测到新文件时,等待它处理一段时间后再进行处理。等待期的长度最好通过实验确定。这是一个平衡的行为:使间隔太短,你冒着对不完整文件进行操作的风险;使它太长,用户会注意到复制操作完成和代码处理之间的延迟。