Python中获取目录的最新文件

3
import os
fish=os.listdir("H:\Comu\Solo")
print(fish)

结果是:['lamba_20081104.pdf', 'conal_20070918.pdf', 'apialas_20220628.pdf'] 结果是一个文件夹中三个文件的列表,我希望的最终结果是:20220628。
我无法继续...
需要取的文件字符是从-12到-4。
该结果表示目录“H:\Comu\Solo”中最新文件(28.06.2022)的日期,因为数字代表日期!与Ruby - Get the second most recent file from a directory?相比,在我的情况下,文件名代码提示我日期!
有人可以编写脚本获取20220628吗?
非常感谢。

1
正则表达式?re.findall(r"\d+", file_name) 或者 re.findall(r"(\d{4})(\d{2})(\d{2})", file_name) - 001
1个回答

3

试着在一行中执行以下操作:

max(fish, key=lambda x: x.split("_")[1].split(".")[0])

Python的max函数接受一个参数(key),它将返回您自定义的最大值函数。

正如@sniperd所说,您也可以在key中使用正则表达式:

max(l, key=lambda x: re.findall(r"\d+", x))

2
这真的非常聪明!我一开始想用正则表达式。 - sniperd
@sniperd 谢谢您的建议。我已将其添加到我的答案中。 - Mehrdad Pedramfar
@simone100 不客气。请检查旁边的灰色按钮并将其变为绿色。 - Mehrdad Pedramfar
现在是正确的吗? - simone100

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接