我有很多的文件目錄下的用戶主目錄(/家/ sebas /)最新文件:的Python:根據上名字
abc_11.txt
abc_22.txt
xyz_01_11.txt
xyz_01_22.txt
hello_01.py
hello_02.py
我試圖根據名稱來獲取最新的文件。所以上面目錄的輸出應該是abc_22.txt和xyz_01_22.txt和hello_02.py。這是我寫的。
def sorted_get_latest_file(path, *paths):
fullpath = os.path.join(path, *paths)
list_of_files = glob.glob(fullpath)
for i in list_of_files:
print os.path.split(i)[-1]
j = sorted(os.path.split(i)[-1], key=lambda x: x.split('_')[-1])
print j
這就是我得到:
abc_11.txt
['_', '.', '1', '1', 'a', 'b', 'c', 't', 't', 'x']
abc_22.txt
['_', '.', '2', '2', 'a', 'b', 'c', 't', 't', 'x']
pr.txt
['.', 'p', 'r', 't', 't', 'x']
xyz_11.txt
['_', '.', '1', '1', 't', 't', 'x', 'x', 'y', 'z']
xyz_22.txt
['_', '.', '2', '2', 't', 't', 'x', 'x', 'y', 'z']
是'xyz_02_11'比'xyz_01_22'更新?或者只是最後2位數字的「更新」? – MooingRawr
找到最新文件的邏輯是什麼?現在,你在字符串中排序字符,而不是列表中的字符串。 –
你正在排序每個文件本身,這意味着排序字符串...也許你的意思是:'排序([os.path.split(i)[ - 1]爲我in list_of_files],鍵= lambda x:x。 split('_')[ - 1])' – AChampion