首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排除glob.glob()中的文件

排除glob.glob()中的文件
EN

Stack Overflow用户
提问于 2020-01-29 01:44:50
回答 2查看 121关注 0票数 2

我的文件夹中有一些文本文件,我需要使用python遍历这些文件并从中提取数据。为了获得所有的路径名,我使用了glob.glob(),除了我需要排除任何名称中包含'ER‘的文件。在环顾四周后,我找到了!_命令,但是它不起作用。下面是我的代码,仍然返回'ER‘文件。

代码语言:javascript
复制
files = glob.glob('*[!ER]*.txt')
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-29 01:56:57

你有你的文件列表,你可以使用列表理解来过滤和删除任何包含'ER‘的文件。

代码语言:javascript
复制
files = [f for f in files if 'ER' not in f]
票数 2
EN

Stack Overflow用户

发布于 2020-01-30 09:21:48

还有其他库可以做排除。例如,wcmatch (完全公开,我是它的作者)允许您使用排除模式(当通过一个标志启用时)。排除模式与正常模式一起给出,它将过滤返回的文件列表:

代码语言:javascript
复制
from wcmatch import glob
glob.glob(['*.txt', '!*ER*.txt'], flags=glob.N)

下面是一个真实的例子:

代码语言:javascript
复制
from wcmatch import glob
>>> glob.glob(['*.md'], flags=glob.N)
['LICENSE.md', 'README.md']
>>> glob.glob(['*.md', '!*EA*.md'], flags=glob.N)
['LICENSE.md']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59954358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档