You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的Glob匹配特定格式的.nii.gz文件路径?

正确匹配目标格式文件的Glob模式

你当前的*_beta_*nii.gz模式无法精准匹配的核心问题是:开头的*会匹配任意字符(包括非数字、长度不足3的数字),不符合你对开头必须是3位数字的要求。

解决方案

针对你的文件格式要求,精准的Glob模式应该这样写:

file_list = glob.glob(os.path.join(data_dir, '[0-9][0-9][0-9]_beta_*.nii.gz'))

模式拆解:

  • [0-9][0-9][0-9]:强制匹配3位0-9的数字序列,完全对应你要求的开头部分
  • _beta_:固定匹配中间的标识字符串
  • *:匹配任意长度的任意字符(对应你需求里的[Y]部分)
  • .nii.gz:固定匹配文件后缀

如果你的Python版本是3.10及以上,可以用更直观的扩展模式(需要指定flags参数):

import glob
file_list = glob.glob(os.path.join(data_dir, '[0-9]{3}_beta_*.nii.gz'), flags=glob.EXTENDED)

[0-9]{3}直接表示“连续3位数字”,可读性更强,但仅支持Python 3.10+。

额外注意

如果目标文件分布在子目录中,需要添加recursive=True并调整模式为**/[0-9][0-9][0-9]_beta_*.nii.gz;如果不需要遍历子目录,保持默认即可。

内容的提问来源于stack exchange,提问作者jo_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 10:41:04