【问题标题】:To get files added today获取今天添加的文件
【发布时间】:2017-09-04 11:50:31
【问题描述】:

在一个文件夹中,我有 80000 + 个文件,每个文件名都包含 YYYYMMDD , 我可以使用 glob 函数按 YYYYMMDD 模式获取文件。

Current_Day = str((datetime.date.today().strftime("%Y%m%d")))
Directory = SourceFolder+'\*'+Current_Day+'*.PSV'
ListOfFiles = glob.glob(Directory)

我可以使用 glob 获取文件列表,是否有任何高级(快速)方法可以使用 c_time 或 m_time 获取文件? Evec 创建时间和修改时间将是 Current_Day

【问题讨论】:

    标签: python glob


    【解决方案1】:

    您可以使用os.stat 和/或os.lstat 来检索文件属性:

    import os
    for file in os.listdir(SourceFolder):
        f_attr = os.stat(file)
        if datetime.fromtimestamp(f_attr.st_mtime) == date.today():
            print('Good file! %s' % file)
        else:
            print('Bad file! %s' % file)
    

    【讨论】:

    • 再次进入 For 循环并检查最终需要很多时间的修改时间
    • @Shiv 如果不遍历文件夹内容,就不可能做你想做的事......(至少我不知道)
    • 如果您使用的是 Python >= 3.5,您可以使用 os.scandir(),它是一个生成器,可生成 DirEntry 对象。您必须以一种或另一种方式遍历目录...
    • 是的,即使我也有同样的感觉,但据我所知,如果没有迭代是不可能的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多