相关文章推荐
星星上的墨镜  ·  使用Qt在Windows中构建用于Linux ...·  1 月前    · 
还单身的蘑菇  ·  mysql时间戳如何转换-PingCAP ...·  10 月前    · 
傲视众生的伤疤  ·  AI攻占诺奖背后:新的技术革命成为社会进步发 ...·  1 年前    · 
有情有义的铁板烧  ·  《温州一家人》_中国作家网·  1 年前    · 
寂寞的眼镜  ·  輔仁大學哲學系 - 輔仁大學哲學系·  1 年前    · 
从容的墨镜  ·  勇做“攀登者”式组工干部_先锋文汇_共产党员网·  1 年前    · 
Code  ›  如何获取文件夹中的最新文件?开发者社区
overflow
https://cloud.tencent.com/developer/ask/sof/39622
奔放的打火机
2 年前
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
提问
问 如何获取文件夹中的最新文件?
Stack Overflow用户
提问于 2016-09-05 16:58:24
EN

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

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

我得到以下错误:

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

7 215.7K 0 票数 181
EN
python
python-3.x
python-2.7

回答 7

Stack Overflow用户

回答已采纳

发布于 2016-09-05 17:04:50

分配给 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)
票数 434
EN

Stack Overflow用户

发布于 2016-09-05 17:09:56

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

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

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

例如(未测试):

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

Stack Overflow用户

发布于 2016-09-05 17:00:53

尝试按创建时间对项目进行排序。下面的示例对文件夹中的文件进行排序,并获取最新的第一个元素。

import glob
 
推荐文章
星星上的墨镜  ·  使用Qt在Windows中构建用于Linux的Qt应用程序开发者社区
1 月前
还单身的蘑菇  ·  mysql时间戳如何转换-PingCAP | 平凯星辰
10 月前
傲视众生的伤疤  ·  AI攻占诺奖背后:新的技术革命成为社会进步发展的重要引擎 _ 东方财富网
1 年前
有情有义的铁板烧  ·  《温州一家人》_中国作家网
1 年前
寂寞的眼镜  ·  輔仁大學哲學系 - 輔仁大學哲學系
1 年前
从容的墨镜  ·  勇做“攀登者”式组工干部_先锋文汇_共产党员网
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号