如何获取文件夹中的最新文件?

新手上路,请多包涵

我需要使用 python 获取文件夹的最新文件。使用代码时:

 max(files, key = os.path.getctime)

我收到以下错误:

FileNotFoundError: [WinError 2] The system cannot find the file specified: 'a'

原文由 garlapak 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 747
2 个回答

分配给 files 变量的任何内容都不正确。使用以下代码。

 import glob
import os

list_of_files = glob.glob('/path/to/folder/*') # * means all if need specific format then *.csv
latest_file = max(list_of_files, key=os.path.getctime)
print(latest_file)

原文由 Marlon Abeykoon 发布,翻译遵循 CC BY-SA 4.0 许可协议

max(files, key = os.path.getctime)

是相当不完整的代码。什么是 files ?它可能是文件名列表,来自 os.listdir()

但是这个列表只列出了文件名部分(又名“basenames”),因为它们的路径是通用的。为了正确使用它,您必须将它与通往它的路径结合起来(并用于获取它)。

如(未经测试):

 def newest(path):
    files = os.listdir(path)
    paths = [os.path.join(path, basename) for basename in files]
    return max(paths, key=os.path.getctime)

原文由 glglgl 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题