【发布时间】:2014-06-03 23:02:11
【问题描述】:
我正在尝试编写一个监视文件夹的脚本,如果文件夹中添加了文件,则处理该文件,然后将其移动到 DONE 文件夹。
我想我想为此使用一个while循环...我将使用以下内容监视文件夹:
count = len(os.listdir('/home/lou/Documents/script/txts/'))
while (count = 1):
print Waiting...
我希望脚本每 30 秒检查一次 len(),如果它从 1 变为 2,则运行脚本,否则等待 30 秒并检查 len()。该脚本会将新文件移动到一个文件夹中,并且 len() 将返回 1。该脚本将 24/7 运行。
非常感谢任何帮助
谢谢
楼
【问题讨论】:
-
你可能会更好地使用这样的东西:github.com/seb-m/pyinotify 而不是 while 循环。你是windows环境还是linux?
-
您不应该只检查列表中的
len()。如果有人在 30 秒内添加了一个文件,然后又删除了另一个文件怎么办?会有一个新文件,但len()不会改变,你的脚本会错过它。相反,您必须保存并比较整个列表。更好的是,使用set()快速查看哪个 文件是新文件。
标签: python while-loop wait