gpt4 book ai didi

python - glob.glob 中的正则表达式用法?

转载 作者:IT老高 更新时间:2023-10-28 22:10:44 27 4
gpt4 key购买 nike

import glob

list = glob.glob(r'*abc*.txt') + glob.glob(r'*123*.txt') + glob.glob(r'*a1b*.txt')

for i in list:
print i

此代码用于列出当前文件夹中名称中包含 'abc''123''a1b' 的文件.

我将如何使用一个 glob 来执行此功能?

最佳答案

最简单的方法是自己过滤 glob 结果。以下是使用简单循环理解的方法:

import glob
res = [f for f in glob.glob("*.txt") if "abc" in f or "123" in f or "a1b" in f]
for f in res:
print f

您也可以使用正则表达式而不使用 glob:

import os
import re
res = [f for f in os.listdir(path) if re.search(r'(abc|123|a1b).*\.txt$', f)]
for f in res:
print f

(顺便说一下,将变量命名为 list 是个坏主意,因为 list 是 Python 类型...)

关于python - glob.glob 中的正则表达式用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13031989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com