我需要根据文件名中的数字对图像进行排序。
例如: [1.jpg,10.jpg,3.jpg ...]
我厌倦了natsort库和sorted函数,两者给出的结果相同
import glob
from natsort import natsorted
images =[]
for img in glob.glob('E:/train/image/*.jpg'):
images.append(img)
natsorted(images)
输出: [ 1、10、11、12、2、22、3 ]
,但必须是: [ 1、2、3、10、11、12、22 ]
答案 0 :(得分:0)
我想您需要执行以下操作:
import glob
from natsort import natsorted
images = natsorted(glob.glob('E:/train/image/*.jpg'))
答案 1 :(得分:0)
natsorted
不是就地排序。它返回一个新的排序列表,因此您必须将其分配给变量。
这应该起作用:
import glob
from natsort import natsorted
images =[]
for img in glob.glob('E:/train/image/*.jpg'):
images.append(img)
images = natsorted(images)