python 打开不包含子字符串的文件匹配模式

python open file matching pattern excluding substring

我需要打开 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')

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

^没有处理,必须用!代替,你应该试试这个代码:

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

给出结果:

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