我想对按日期命名的文件进行排序,例如 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 以前导零读取一年中的某一天。我该如何解决这个问题?
答案 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