按文件名d排序日期

2024-09-29 03:34:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含*.txt文件的文件夹,其中包含特定的格式(c是字符,d是数字,yyyy-mm-dd-hh-mm-ss是日期格式)

年-月-日-月-日-月-日-不锈钢.txt在

或者

年-月-日-月-日-不锈钢.txt在

或者

年-月-日-时-月-日-不锈钢.txt在

当单个数字d等于0时

我想创建一个python脚本来获取日期并从该特定日期对文件进行排序。在

到目前为止我已经做到了

import os
list_files=[]
for file in os.listdir():
    if file.endswith(".txt"):
        #print(file)
        list_files.append(file)

但我对正则表达式有点陌生。谢谢


Tags: 文件txt文件夹os格式hh数字files
1条回答
网友
1楼 · 发布于 2024-09-29 03:34:29

您可以使用.split()分割字符串。 看来我们可以从最后一次出现的“u”中分离出来,去掉“.”之后的部分以获得时间戳。
因此,从文件名返回时间戳的方法是:

def get_timestamp(file_name):
    return file_name.split("_")[-1].split('.')[0]

由于所有日期的格式相同,python可以使用时间戳字符串本身对其进行排序。
要使用该时间戳获取已排序的文件名列表,可以执行以下操作:

^{pr2}$

有关Key函数的更多信息可以从python官方文档中了解。在

相关问题 更多 >