python打开文件匹配模式,不包括substring

时间:2015-07-08 13:50:59

标签: python regex wildcard glob

我需要在python

中的文件夹中打开一些文件

说,我在文件夹中有以下文件:

text_pbs.fna
text_pdom_fo_oo.fna
text_pdom_fo_oo_aa.fna
text_pdom_fo_oo.ali
text_pdom_ba_ar.fna
text_pdom_ba_ar_aa.fna
text_pdom_ba_ar.ali
text_pdom_ba_az.fna
text_pdom_ba_az_aa.fna
text_pdom_ba_az.ali

我想打开:

text_pdom_fo_oo.fna
text_pdom_ba_ar.fna
text_pdom_ba_az.fna

我尝试使用glob:

glob.glob('*_pdom_*[^aa].fna')

但它不起作用。 非常感谢指出上述模式中的问题。还有其他解决方法吗?

1 个答案:

答案 0 :(得分:3)

^未处理,必须由!替换,您应该尝试以下代码:

import glob
glob.glob('*_pdom_*[!aa].fna')

给出了结果:

['text_pdom_fo_oo.fna','text_pdom_ba_ar.fna','text_pdom_ba_az.fna']