Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中对文件夹名称进行排序_Python - Fatal编程技术网

在Python中对文件夹名称进行排序

在Python中对文件夹名称进行排序,python,Python,我想按Python对子文件夹名称列表进行排序,但它不能以所需的方式工作 files = ['file_37.png', 'file_8.png', 'file_13.png', 'file_114.png', 'file_115.png'] sorted(files) 输出: ['file_114.png', 'file_115.png', 'file_13.png', 'file_37.png', 'file_8.png'] 显然,Python是在字典形式中对名称进行排序,而不考虑“\”后

我想按Python对子文件夹名称列表进行排序,但它不能以所需的方式工作

files = ['file_37.png', 'file_8.png', 'file_13.png', 'file_114.png', 'file_115.png']
sorted(files)
输出:

['file_114.png', 'file_115.png', 'file_13.png', 'file_37.png', 'file_8.png']
显然,Python是在字典形式中对名称进行排序,而不考虑“\”后面数字的整数值。然而,我想得到的是:

['file_8.png', 'file_13.png', 'file_37.png','file_114.png', 'file_115.png']

有谁能告诉我如何在Python中获得所需的输出吗?

您可以使用
,这对于以自己的方式进行排序非常有用

将函数作为参数。我所做的是用
\uu
拆分字符串,并获取其第二部分(索引
1
)。例如,如果使用
\u37.png
拆分
文件[u37.png
,则它将给出
['file','37.png']
的列表。因此,使用
1
作为索引将返回
37.png
。然后使用
再次拆分它,我使用了
0
索引返回文件号

def split_x(x):
a=x.分割(“')[1]
a=a.split('.')[0]
返回整数(a)
files=['file_37.png','file_8.png','file_13.png','file_114.png','file_115.png']
已排序(文件,键=拆分)

谢谢你,普拉卡什!现在一切都清楚了!对不起,普拉卡什。即使我想,我也不能投票,因为我还没有足够的声誉。