使用os.listdir进行列表排序-依次添加文件

cbtohill

我有一个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) 

我该怎么做才能用OS对它们进行排序?还是glob会更有用?

尼古拉斯·格维斯(Nicolas Gervais)
import re 

def sorted_alphanumeric(data):
    convert = lambda text: int(text) if text.isdigit() else text.lower()
    alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9]+)', key) ]
    return sorted(data, key=alphanum_key)

def load_images_sorted(folder):
    images = []
    for filename in sorted_alphanumeric(os.listdir(folder)):
        # do whatever with these sorted files
        ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

排序os.listdir文件Python

来自分类Dev

使用Python进行列表排序(转置)

来自分类Dev

使用 os.listdir 忽略特定文件

来自分类Dev

在球拍中使用文件夹进行列表操作

来自分类Dev

排序文件然后目录 os.listdir PYTHON

来自分类Dev

使用JQuery依次添加元素

来自分类Dev

使用给定的列表熊猫对CSV文件进行排序

来自分类Dev

os.listdir() 给出了不正确的文件列表

来自分类Dev

使用os.listdir(),查看对象是文件还是目录

来自分类Dev

如何使用 os.listdir 仅选择文件类型?

来自分类Dev

使用输入文件OS X进行调试

来自分类Dev

使用jQuery tablesorter进行列排序

来自分类Dev

使用Twitter Bootstrap进行列排序

来自分类Dev

使用jQuery tablesorter进行列排序

来自分类Dev

如何使用os.walk获得的Python中的natsort对文件夹名称进行排序?

来自分类Dev

使用隔离对列表进行排序

来自分类Dev

使用特定方法对添加到列表中的对象进行排序

来自分类Dev

输入类型FILE多个-依次添加文件

来自分类Dev

如何在laravel中使用列排序进行列排序

来自分类Dev

如何使用python对csv文件进行排序以逐步添加数据行以进行输出

来自分类Dev

尝试将带有数字的txt文件读入列表,然后使用Python进行排序

来自分类Dev

如何对文件名列表进行排序并使用php将其写入JSON?

来自分类Dev

使用正则表达式对文件列表进行排序

来自分类Dev

使用列表和csv文件进行有效的计数/排序

来自分类Dev

使用“尝试”进行列表循环操作

来自分类Dev

使用shuffleM进行列表改组

来自分类Dev

使用字典进行列表综合

来自分类Dev

使用input()。split()进行列表理解

来自分类Dev

使用shuffleM进行列表改组

Related 相关文章

热门标签

归档