这应该很简单,但我无法正常工作。我想通过使用python中的glob.glob排除包含特定模式的文件来列出目录中的文件。
我目录中的文件是:
lh.Hip.nii, lh.IPL.nii, lh.LTC.nii, rh.Hip.nii, rh.IPL.nii, rh.LTC.nii
而且我想通过排除文件名中包含“ Hip”的文件来列出文件:
lh.IPL.nii, lh.LTC.nii, rh.IPL.nii, rh.LTC.nii
存在类似的问题glob exclude pattern,该解决方案仅在我要排除以特定模式开头的文件时才有效,但在我的情况下不起作用。
有什么想法吗?
您可以使用glob
获取所有文件名,然后使用列表推导对其进行过滤,如下所示:
[i for i in glob("*.nii") if i.split('.')[1] != 'Hip']
尝试一下:
result = []
files = glob.glob('*')
for f in files :
if 'Hip' not in f :
result.append(f)
您的情况是:['lh.IPL.nii', 'lh.LTC.nii', 'rh.IPL.nii', 'rh.LTC.nii']