如何对数据集的文件名进行排序,我使用 glob.glob('path/*.png') 获取名称



图像

嗨!我正在尝试加载数据集。我想将文件名排序为1,2,3,。。。但我得到的是101001000,。。。如图所示。我该怎么做?

filenames = glob.glob("/content/path/train/*.png")
filenames.sort()
images = [cv2.imread(img) for img in filenames]

好吧,这是字母顺序。。。如果您知道这些名称都是数字,那么您可以为.sort()提供一个key函数,该函数使用您想要的顺序。

def bynumber(fn):
return int(os.path.basename(fn)[:-4])
...
filenames.sort( key=bynumber )

或者:

filenames.sort( key=lambda fn: int(os.path.basename(fn)[:-4]) )

最新更新