要列举当前文件夹下的文件,可以用下面的方法:
<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是索引到文件名的倒数第四个字符,也就是'.'符号。