繁体   English   中英

无论如何要在过去 24 小时内修改文件而不遍历目录中的所有文件

[英]Is there anyway to get files modified in last 24 hours without looping through all files in directory

无论如何要在过去 24 小时内修改文件而不遍历目录中的所有文件? 我不想遍历目录中的所有文件的原因是因为该目录中有超过 200k 的文件。

for pdf in os.scandir(ERROR_FOLDER):
    path = os.path.join(ERROR_FOLDER,pdf)      
    filetime = dt.datetime.fromtimestamp(
            os.path.getmtime(path))   
    if (date_start < filetime < date_end):
        files.append(pdf)

一般没有办法做到这一点,但对于特定情况是可能的。

例如,如果这些文件是通过某种自动化过程创建和修改的,您可以通过在修改后将文件添加到数据库中来维护过去 24 小时内修改过的文件的数据库(在同一脚本/程序中)修改它们),并让数据库使用 cron 作业删除旧条目。

根据修改文件的频率,您还可以有一个 cron 作业,循环遍历目录中的所有文件并保存过去 24 小时内已修改的文件列表,以便您的程序在需要时快速运行它可以,但可能无法获取最新的文件(在 cron 作业运行和程序运行之间进行了修改)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM