【发布时间】:2018-06-16 20:41:34
【问题描述】:
我有一个包含图片的文件夹。 我将每个图像的路径添加到列表中。它们不是按字母顺序排序的。 我做了这个函数来排序,但是排序后打印列表的结果是一样的。
import os
import glob
images_path = os.path.expanduser('~\\Desktop\\samples\\')
def img_path_list():
img_list = []
for file_path in glob.glob(str(images_path) + "*.jpg"):
img_list.append(file_path)
img_list.sort(key=lambda x: str(x.split('.')[0]))
return img_list
print(img_path_list())
结果仍然是:[Desktop\\t0.jpg, Desktop\\t1.jpg, Desktop\\t10.jpg, Desktop\\t11.jpg, Desktop\\t2.jpg, ...]
编辑:只要我没有要求使用natsort 模块而是使用简单的python,就不是重复的。
【问题讨论】:
-
结果对我来说看起来很有序。你想在 t10.jpg 之前有 t2.jpg?
-
结果是一个例子。是的,正常排序。 123 而不是 1、10、2、20 等。
-
EDIT: ...抱歉,我们不关心您的限制。 -
了解您希望对某事进行自然排序。无论您是否要求使用外部模块,这个问题都曾被问过。所以它是重复的,不管这是否是你的作业。