在Python中对日期列表进行排序

jwb*_*ley 2 python sorting date

我在python中有一个列表,它是名称是创建日期的目录;

import os
ConfigDir = "C:/Config-Archive/"
for root, dirs, files in os.walk(ConfigDir):
    if len(dirs) == 0: # This directory has no subfolder
        ConfigListDir = root + "/../" # Step back up one directory
        ConfigList = os.listdir(ConfigListDir)
        print(ConfigList)

['01-02-2014', '01-03-2014', '01-08-2013', '01-09-2013', '01-10-2013']
Run Code Online (Sandbox Code Playgroud)

我想要最新的目录,就是那个例子01-03-2014,列表中的第二个目录.日期是DD-MM-YYYY.

可以使用lamba排序键对其进行排序,还是应该进行简单的排序并编写一个简单的排序函数?

Mar*_*ers 7

您将在排序键中解析日期:

from datetime import datetime

sorted(ConfigList, key=lambda d: datetime.strptime(d, '%d-%m-%Y'))
Run Code Online (Sandbox Code Playgroud)

演示:

>>> from datetime import datetime
>>> ConfigList = ['01-02-2014', '01-03-2014', '01-08-2013', '01-09-2013', '01-10-2013']
>>> sorted(ConfigList, key=lambda d: datetime.strptime(d, '%d-%m-%Y'))
['01-08-2013', '01-09-2013', '01-10-2013', '01-02-2014', '01-03-2014']
Run Code Online (Sandbox Code Playgroud)