2010-08-05 115 views
4

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

+1

你在什么操作系统上? – 2010-08-05 00:59:26

+1

退房http://stackoverflow.com/questions/3274334/how-can-i-watch-a-file-for-modification-change/3274366#3274366 – sdolan 2010-08-05 01:08:08

回答

2

每隔几秒检查一次新文件实际上并没有那么差 - 事实上,它是监视文件系统更改的唯一真正便携的方式。如果您在Linux上运行,question linked by @sdolan中的答案将帮助您更有效地检查新文件,但它们不会帮助您解决问题的其他部分。

检测到文件已被完全复制比第一次出现要困难得多。最好的办法是,当检测到新文件时,请等待,直到它在处理之前还没有被触摸一段时间。等待期的长短最好通过实验确定。这是一个平衡的行为:使时间间隔太短,你冒着操作不完整的文件的风险;使其过长,并且用户会注意到复制操作完成和您的代码处理之间的延迟。

相关问题