首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将特定扩展grep到list python3中

如何将特定扩展grep到list python3中
EN

Stack Overflow用户
提问于 2018-07-08 21:18:14
回答 1查看 51关注 0票数 -2

我有一个包含多个文件扩展名的目录,我想要将所有具有2个不同扩展名的文件的路径放入一个列表中。到目前为止,我已经尝试过:

my_files = list(Path(my_dir).glob('**/*.txt' and '**/*.txt.gz'))

但是使用上面的脚本,我只获得了.txt.gz文件的路径:

[PosixPath('/home/myproject/cd_4/M_1and2.txt.gz')]

我怎么才能修复它?

EN

回答 1

Stack Overflow用户

发布于 2018-07-09 04:36:48

正如在注释中提到的,'ptrn1' and ptrn2'的计算结果始终为'ptrn2'

所以你绝对不能用一个glob调用来做这件事。分别为每个模式调用glob并合并结果

my_files  = list(Path('test').glob('**/*.txt'))
my_files += list(Path('test').glob('**/*.txt.gz'))

或者作为一行程序

my_files = [p for ptrn in ['**/*.txt', '**/*.txt.gz'] for p in Path('test').glob(ptrn)]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51232381

复制
相关文章

相似问题

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