python将数据集中所有文件名升序制作txt文件(医学影像)

import os  
import re  
  
# 设定图像文件所在的路径  
img_path = './2d/images/'  #需修改路径
# 获取该路径下的所有文件名  
img_list = os.listdir(img_path)  
  
# 过滤出以.nii结尾的文件名  
nii_list = [f for f in img_list if f.endswith('.nii')]  
  
# 使用正则表达式从文件名中提取数字部分,并转换为整数  
# 如果找不到数字,则抛出一个异常  
def extract_number_from_filename(filename):  
    match = re.search(r'(\d+)_', filename)  
    if match:  
        return int(match.group(1))  
    else:  
        raise ValueError(f"No number found in filename: {filename}")  
  
# 存储能够成功提取数字的文件名和对应的数字(用于排序)  
sortable_files = []  
  
# 尝试提取每个文件名中的数字,并添加到sortable_files列表中  
for nii_file in nii_list:  
    try:  
        number = extract_number_from_filename(nii_file)  
        sortable_files.append((number, nii_file))  
    except ValueError as e:  
        print(e)  # 打印错误消息,但也可以选择记录日志或采取其他措施  
  
# 对元组列表进行排序,元组的第一个元素是数字,第二个元素是文件名 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值