按正确顺序排列图像

2024-09-30 10:31:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个文件夹中选择一个特定名称的所有图像。你知道吗

这些图像具有以下名称:

plotChannel1.png, plotChannel2.png, plotChannel3.png, plotChannel4.png, plotChannel5.png, plotChannel6.png, plotChannel7.png, plotChannel8.png, plotChannel9.png, plotChannel10.png, plotChannel12.png, plotChannel13.png, plotChannel14.png, plotChannel5.png, plotChannel6.png

要选择我正在使用的图像:

dataImage = sort([f for f in os.listdir(os.getcwd()) if f.endswith('.png') and 'Channel' in f]) 

但是结果并不像预期的那样,因为python没有按照正确的顺序对它们进行排序。它使用以下顺序:

1, 10, 11, 12, 13, 14, 15, 16, 2, 3, 4, 5, 6, 7, 8, 9

如何强制python按正确的顺序对图像进行排序?你知道吗


Tags: in图像文件夹名称排序png顺序os
1条回答
网友
1楼 · 发布于 2024-09-30 10:31:49

^{}^{}接受额外的key函数参数。传递一个将文件名转换为数字的函数,以便sorted根据数字排序,而不是按字典顺序排序。你知道吗

dataImage = sorted(
    [f for f in os.listdir(os.getcwd()) if f.endswith('.png') and 'Channel' in f]
    key=lambda filename: int(filter(str.isdigit, filename))
)

相关问题 更多 >

    热门问题