一個文件路徑鏈表,需要按文件時間與文件名排序,
先按時間排,時間相同按文件名排,
代碼如下:
# pathList = [r'd:\test1.txt', r'd:\test2.txt', ...]
pathList.sort(key=keyPath)
def keyPath(sPath):
return (os.path.getmtime(sPath), sPath.lower())
list.sort參數為:s.sort([cmp[, key[, reverse]]])
可以使用一個cmp函數,或一個key函數進行排序,reverse表示是否逆序。
如使用"cmp=lambda x,y: cmp(x.lower(), y.lower())"。
但是用key函數排序更高效。
因為key只對每個項應用一次,然后按key值排序。
而cmp函數必須兩兩比較才行。
如 "key=str.lower"
keyPath函數返回一個(fileTime, filePath),用來以文件時間和文件名排序。
(轉載請注明來源于金慶的專欄)
先按時間排,時間相同按文件名排,
代碼如下:
# pathList = [r'd:\test1.txt', r'd:\test2.txt', ...]
pathList.sort(key=keyPath)
def keyPath(sPath):
return (os.path.getmtime(sPath), sPath.lower())
其中pathList是一組路徑,利用list.sort對其排序。list.sort參數為:s.sort([cmp[, key[, reverse]]])
可以使用一個cmp函數,或一個key函數進行排序,reverse表示是否逆序。
如使用"cmp=lambda x,y: cmp(x.lower(), y.lower())"。
但是用key函數排序更高效。
因為key只對每個項應用一次,然后按key值排序。
而cmp函數必須兩兩比較才行。
如 "key=str.lower"
keyPath函數返回一個(fileTime, filePath),用來以文件時間和文件名排序。
(轉載請注明來源于金慶的專欄)