Python 在过去的24小时内,是否有任何方法可以修改文件,而不必遍历目录中的所有文件

Python 在过去的24小时内,是否有任何方法可以修改文件,而不必遍历目录中的所有文件,python,operating-system,Python,Operating System,在过去的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

在过去的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)
用于os.scandir(错误文件夹)中的pdf的
:
path=os.path.join(错误文件夹,pdf)
filetime=dt.datetime.fromtimestamp(
os.path.getmtime(路径))
如果(日期开始<文件时间<日期结束):
文件。附加(pdf)

一般来说没有办法做到这一点,但在特定情况下是可能的

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


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

循环浏览所有文件名是正常的做法。大多数现代文件系统和操作系统的运行速度都相当快。您可以监控目录-有几种不同的方式,这取决于操作系统。当然,这取决于整个时间内运行的程序。搜索“PythonWatchDirectory for changes”或类似的东西将为您提供帮助包。