如何比较文件名中的日期?

时间:2017-04-24 20:27:25

标签: python date

我有一个目录,其中包含:

String ersterChar = "14";

根据日期; 我想在python中创建一个脚本,输出2个最新的文件:

file_19911210.bak
another_19921212.bak
file_19931212.bak
yes_20010130.bak
more_20120212.bak

其余的:

[new] yes_20010130.bak
[new] more_20120212.bak

您会建议哪些模块和[old] file_19911210.bak [old] another_19921212.bak [old] another_19931212.bak

1 个答案:

答案 0 :(得分:1)

您可以根据某些key对序列进行排序。我们想要的关键是文件名末尾的第12到第5个字符给出时间戳:

>>> def timestamp(filename):
...     return filename[-12:-4]

>>> timestamp('file_19911210.bak')
'19911210'

>>> filenames = [
...     'file_19911210.bak',
...     'another_19921212.bak',
...     'file_19931212.bak',
...     'yes_20010130.bak',
...     'more_20120212.bak']

>>> sorted(filenames, key=timestamp)