Python 使用os.listdir进行列表排序-按顺序追加文件

Python 使用os.listdir进行列表排序-按顺序追加文件,python,operating-system,sortedlist,Python,Operating System,Sortedlist,我有一个fits文件文件夹,所有文件都标记为img_1.fits、img_32.fits、img_2.fits。。。等等,我想以数字顺序遍历它们,并将数据附加到数组中,但我似乎无法对它们进行排序。我试过了 def load_images_sorted(folder): images = [] for filename in os.listdir(folder): file = sorted(os.path.join(folder, filename), key=lambda x: int

我有一个fits文件文件夹,所有文件都标记为img_1.fits、img_32.fits、img_2.fits。。。等等,我想以数字顺序遍历它们,并将数据附加到数组中,但我似乎无法对它们进行排序。我试过了

def load_images_sorted(folder):
images = []
for filename in os.listdir(folder):
    file = sorted(os.path.join(folder, filename), key=lambda x: int(os.path.splitext(x.split('_')[1])[0]))
    image_data = fits.getdata(file, ext=0,)
    images.append(image_data)
return np.array(images) 
如何使用操作系统对它们进行排序?还是glob更有用

重新导入
def排序_字母数字(数据):
convert=lambda text:int(text)if text.isdigit()else text.lower()
alphanum_key=lambda key:[在重新拆分(“([0-9]+)”,key)中为c转换(c)]
返回排序(数据,键=alphanum_键)
def load_图像_排序(文件夹):
图像=[]
对于已排序的字母数字(os.listdir(文件夹))中的文件名:
#对这些已排序的文件执行任何操作
...