gpt4 book ai didi

python - While 循环监视文件夹并在条件为真时运行脚本

转载 作者:太空狗 更新时间:2023-10-30 02:13:29 25 4
gpt4 key购买 nike

我正在尝试编写一个脚本来监视文件夹,如果文件夹中添加了文件,则处理该文件,然后将其移至 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。

非常感谢任何帮助

谢谢

最佳答案

根据目录的大小,如果目录的 mtime 发生变化,最好只检查文件数。如果您使用的是 Linux,您可能还对 inotify 感兴趣。

import sys
import time
import os

watchdir = '/home/lou/Documents/script/txts/'
contents = os.listdir(watchdir)
count = len(watchdir)
dirmtime = os.stat(watchdir).st_mtime

while True:
newmtime = os.stat(watchdir).st_mtime
if newmtime != dirmtime:
dirmtime = newmtime
newcontents = os.listdir(watchdir)
added = set(newcontents).difference(contents)
if added:
print "Files added: %s" %(" ".join(added))
removed = set(contents).difference(newcontents)
if removed:
print "Files removed: %s" %(" ".join(removed))

contents = newcontents
time.sleep(30)

关于python - While 循环监视文件夹并在条件为真时运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com