相关文章推荐
星星上的墨镜  ·  使用Qt在Windows中构建用于Linux ...·  3 周前    · 
豪气的葡萄酒  ·  10位和13位时间戳转换成时间字符串 - ...·  11 月前    · 
傻傻的大海  ·  在多语句TVF Sql ...·  2 年前    · 
大力的键盘  ·  java内存测试工具 java ...·  2 年前    · 
帅呆的柠檬  ·  Hibernate配置C3P0连接池 - ...·  2 年前    · 
酒量小的四季豆  ·  MFC调用批处理,等待执行完毕并获取其返回值 ...·  2 年前    · 
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应用程序开发者社区
3 周前
豪气的葡萄酒  ·  10位和13位时间戳转换成时间字符串 - 路痴队长 - 博客园
11 月前
傻傻的大海  ·  在多语句TVF Sql Server中使用多个IF ELSE
2 年前
大力的键盘  ·  java内存测试工具 java 内存分析工具 生成 dump_mob6454cc63af5e的技术博客_51CTO博客
2 年前
帅呆的柠檬  ·  Hibernate配置C3P0连接池 - Just_Do - 博客园
2 年前
酒量小的四季豆  ·  MFC调用批处理,等待执行完毕并获取其返回值 - LuffysMan - 博客园
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号