阅读没有领先零的一年中的一天

时间:2018-04-09 12:52:02

标签: python datetime

我想对按日期命名的文件进行排序,例如 adq_2018_96_13_30_10.zip ,其中第二个数字是一年中的某一天(没有前导零)。

我试图使用这样的东西:

def keyfunc(value):
    return datetime.strptime(value, "adq_%Y_%j_%H_%M_%S.zip")

rate_file_list=sorted(glob.glob('adq_201*.txt'), key=keyfunc)

但我收到错误是因为%j 以前导零读取一年中的某一天。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您收到错误是因为.zip.txt不匹配。 %j可以处理非前导零编号。

def keyfunc(value):
    return datetime.strptime(value, "adq_%Y_%j_%H_%M_%S.zip")
#                                                      ^^^^

rate_file_list=sorted(glob.glob('adq_201*.txt'), key=keyfunc)
#                                        ^^^^

请参阅:

print(datetime.strptime('adq_2018_96_13_30_10.zip', 'adq_%Y_%j_%H_%M_%S.zip'))
# 2018-04-06 13:30:10