Python glob 排除模式

2 投票
2 回答
5656 浏览
提问于 2025-04-17 14:06

基本上,我想在Python中使用glob.glob模块来筛选以下文件:

log_fasdsaf
log_bifsd72q
log_asfd8
...

但要排除:

log_fdsaf_7832
log_fsafn_fsda
log_dsaf8_8d
...

我尝试用Linux的通配符(比如log_[!_])来实现,但显然不太管用。我该如何在Unix/Linux命令行中使用反向或负向通配符进行模式匹配?似乎也没有帮助,感谢大家的建议!

2 个回答

2

你用错了符号来表示 没有这个符号...

如果你想找任何以 log_ 开头的文件,后面跟着一堆字符,而这些字符中没有 _,那么你只需要这样做:

log_[^_]*

1

你快到了。你要找的模式是 log_[^_]*。这个意思是,它必须以 'log_' 开头,后面可以跟零个或多个不是下划线的字符。

撰写回答