我在桌面文件夾(Ubuntu)中有各種tar文件。按文件名內的日期順序列出目錄中的所有文件?
的文件名是這樣的:
esarchive--James-AB-Test226-8037affd-06d1-4c61-a91f-816ec9cb825f-**05222017**-4.tar
加粗的部分是日期。我想按照日期順序對文件進行排序,最近的排在第一位。
是否有一個簡單的Python解決方案呢?
import glob
import datetime
import re
timeformat = "%m%d%Y"
regex = re.compile("^esarchive--James-AB-Test226-8037affd-06d1-4c61-a91f-816ec9cb825f-(\d*\d*)")
def gettimestamp(thestring):
m = regex.search(thestring)
return datetime.datetime.strptime(m.groups()[0], timeformat)
list_of_filenames = ['esarchive--James-AB-Test226-8037affd-06d1-4c61-a91f-816ec9cb825f-05212017-4','esarchive--James-AB-Test226-8037affd-06d1-4c61-a91f-816ec9cb825f-05202017-4']
for fn in sorted(list_of_filenames, key=gettimestamp):
print fn
你有沒有試過的代碼? –
是的,它似乎有工作時,我有list_of_filenames變量。也許有關如何將變量指向我的目錄的建議?這就是我主要堅持的部分:( –
@ChetanYadav ['os.listdir'](https://docs.python.org/3/library/os.html?highlight=os.listdir#os.listdir) –