如何通过排除字符串获得所有文件的列表?

2024-10-01 17:32:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个满是文件的文件夹:

aaa.sh
bbb.sh
ccc.sh
aaadomain.sh
hhhdomain.sh
yyyydomain.sh
aaadomainasssa.sh

当我这样做的时候,我会得到所有文件的列表

import glob,os
filelist = glob.glob('*.sh')

但是,如何排除文件名中以字符串形式存在domain的所有文件


Tags: 文件import文件夹列表osshglobbbb
2条回答

我建议列一份清单

>>> [i for i in glob.glob('*.sh') if 'domain' not in i]
['aaa.sh', 'ccc.sh', 'bbb.sh']

如果要在filelist上迭代,请使用filter

for f in filter(lambda x: 'domain' not in x, glob.glob('*.sh')):
    ... # do something with f

或者,使用列表理解:

filelist = [x for x in glob.glob('*.sh') if 'domain' not in x]

相关问题 更多 >

    热门问题