self.images = sorted(glob.glob(os.path.join(image_folder, "*.jpg")) + glob.glob(os.path.join(image_folder, "*.png")), key=lambda x: int(re.search(r'\d+', os.path.basename(x)).group())) # glob.glob() 函数解析 通过通配符匹配文件路径,返回符合条件的文件列表 # * 任意数量字符 *.jpg匹配所有JPG # ? 单个字 pic?.png匹配pic1.png # [] 指定字符范围[a - z].txt匹配a - z开头的txt # sorted 对可迭代对象(列表、元组、字符串等)进行排序 返回一个新的排序后列表,不修改原对象 sorted拜访 如果这样写。 self.images = sorted(glob.glob(os.path.join(image_folder, "*.jpg")) + glob.glob(os.path.join(image_folder, "*.png"))) 那么排序是 1.jpg 10.jpg 11.jpg ... 2.jpg 排序可能和我们想的不一样。 加上key=....后面的代码。 排序就正常了。 1 2 3 ....排序 了。
image_folder = input("输入图片文件夹路径: ")
站长微信:xiaomao0055
站长QQ:14496453