1. 程式人生 > >python 列舉資料夾下檔案並排序

python 列舉資料夾下檔案並排序

要列舉當前資料夾下的檔案,可以用下面的方法:

<span style="font-size:12px;">import os
a=os.listdir('.\')</span>
得到的a是一個列表,裡面的元素就是資料夾下每個檔案的名字;但是它並不是按我們在資料夾中看到的檔案的順序排列的,而是一種不固定的順序。

假如我們的資料夾中是字尾名為.jpg的圖片,並且按照數字大小來命名,那麼我們可以使用列表的sort()方法來對其進行排序,但是它是按string的排序方法排序的。

如果我們想要讓它按數字大小來排序,那麼我們可以使用sort()的key引數,key引數是一個函式,比如我們想按列表的元素的長度排序,我們可以使用

list.sort(key=len)
如果想按字母排序(不是按ascii碼),可以用
list.sort(key = str.lower)
回到我們的問題,想讓列表按數字大小排序,可以使用lambda函式:
a.sort(key= lambda x:int(x[:-4]))
-4是索引到檔名的倒數第四個字元,也就是'.'符號。