文件名称中的python glob排除模式

问题描述 投票:0回答:2

这应该很简单,但我无法正常工作。我想通过使用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,该解决方案仅在我要排除以特定模式开头的文件时才有效,但在我的情况下不起作用。

有什么想法吗?

python glob
2个回答
0
投票

您可以使用glob获取所有文件名,然后使用列表推导对其进行过滤,如下所示:

[i for i in glob("*.nii") if i.split('.')[1] != 'Hip']

0
投票

尝试一下:

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']

© www.soinside.com 2019 - 2024. All rights reserved.