如何在Python中按数字顺序对文件进行排序?

5

我正在从图片创建pdf文件,但是在对jpg文件进行数字排序时遇到了问题。 我有20个文件,从1.jpg到20.jpg。 我使用以下代码对所有文件进行排序:

import os
sorted(os.listdir('path/to/jpg/files'))

但是它会打印出1.jpg,11.jpg,12.jpg等等。有什么想法?

3
sorted(os.listdir('path/to/jpg/files'), key=lambda x: int(x.split(".")[0])) - Rakesh
1个回答

5

sorted函数需要一个key参数。你可以在key中使用lambda函数进行数值排序。

例如:

import os
sorted(os.listdir('path/to/jpg/files'), key=lambda x: int(x.split(".")[0])) 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接