如何使用 Python 从列表中对日期进行排序

蒂亚戈

此列表由day.month.year. 在我的列表之前是一个前缀。例如:[Objname].01.02.2020.log我使用正则表达式(\[Obj.*]).(\d{2}.\d{2}.\d{4})从日期拆分 ObjectName。这是结果:

01.02.2020
02.02.2020
03.02.2020
04.02.2020
05.02.2020
06.02.2020
07.02.2020
08.02.2020
09.02.2020
10.02.2020
11.02.2020
12.02.2020
13.02.2020
14.02.2020
15.02.2020
16.02.2020
17.02.2020
18.02.2020
19.02.2020
20.02.2020
21.02.2020
22.02.2020
23.02.2020
24.02.2020
25.02.2020
26.02.2020
27.02.2020
29.01.2020
30.01.2020
31.01.2020

我使用sorted()是因为 Objectname 是由数字组成的,我需要返回排序的文件。但我不知道如何处理这个问题的最佳方法。

def getFiles(numbers):
 currentDay = datetime.datetime.now()
 numdays  = numbers
 dateList = []
 for x in range (0, numdays):
  date = currentDay - datetime.timedelta(days = x)
  days = date.strftime("%d.%m.%Y")
  dateList.append(days)

 path = "/var/log/"

 files = sorted([filename for root, dirs, files in os.walk(path)
          for filename in files
          for date in dateList
          if filename.endswith(date+".log")])

 return files
卡亚3

你的日期是dd.mm.yyyy有序的,你想按yyyy.mm.dd顺序对它们进行排序;所以你可以使用一个key函数来拆分.和反转组件。

>>> date_strings = ['01.01.2009', '04.07.2007', '05.06.2007', '06.06.2007']
>>> sorted(date_strings, key=lambda d: d.split('.')[::-1])
['05.06.2007', '06.06.2007', '04.07.2007', '01.01.2009']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在python中对日期进行排序?

如何对日期时间或日期对象列表进行排序?

如何在python中按月对日期进行分组

如何使用MongoDB中的汇总对日期进行排序

如何根据 Python 中的日期时间对字典列表进行排序

如何在python中按日期时间对列表进行排序?

如何用日期对Python列表进行排序

您如何在字典中对日期进行排序?

如何在mysql中对日期进行排序

XSLT:如何对日期进行排序

使用groupby熊猫对日期进行排序

使用openrefine对日期进行多面排序

使用vba对日期进行排序

无法使用结构对日期进行排序

如何使用jQuery在asp.net ListBox中对日期进行排序

如何使用数组中的 moment.js 按降序对日期进行排序

如何在python中按创建日期对目录列表进行排序?

如何编写一个对列表中的日期进行排序的python函数?

如何使用AM | PM对日期文件进行排序

如何对日期进行排序并在Unix中打印排序的数据?

如何使用python中的键对列表进行排序

在 Python 中对日期时间进行排序并返回索引错误

如何使用冒泡排序对 Python 3 中的列表进行排序然后子排序

如果使用格式化程序进行显示,如何在bootstrap-vue中对日期列进行排序?

如何使用python对列表进行排序?

如何使用python对复杂列表进行排序?

如何在Android中从Arraylist Date降序对日期进行排序?

如何在 JTable 的一列中对日期和时间进行排序?

如何在iOS中以升序对日期数组进行排序