代码之家  ›  专栏  ›  技术社区  ›  Jaffer Wilson Dilip kumar

在python中使用glob不会返回最新的文件路径

  •  1
  • Jaffer Wilson Dilip kumar  · 技术社区  · 6 年前

    我正试图监视日志文件夹。如果创建了任何新文件,则必须返回文件路径。为此,我使用了以下代码:

    import glob
    list_of_files_in_real_predicted = glob.iglob(r'logging\real_predicted\*')
    latest_file_in_real_predicted = max(list_of_files_in_real_predicted, key=os.path.getctime)
    print(latest_file_in_real_predicted)
    

    返回的输出为: logging\real_predicted\log935.csv
    logging\real_predicted\log0.csv

    这是文件夹的快照,可以看到创建的最新文件;
    my folder structure

    请让我知道我可以做什么来获得最新创建的文件。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Jean-François Fabre    6 年前

    getctime 不同于 getmtime . 您在windows中看到的(以及真正有用和广泛使用的)是

    latest_file_in_real_predicted = max(list_of_files_in_real_predicted, key=os.path.getmtime)
    

    修改时间与文件内容的最后一次修改相匹配。可能是为什么每个人都用它。

    getctime 甚至不是文件创建日期:

    ctime表示最后一次更改inode的时间

    Difference between python - getmtime() and getctime() in unix system