Regular expression usage in glob.glob?
glob, python
Solution
The easiest way would be to filter the glob results yourself. Here is how to do it using a simple loop comprehension:
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
You could also use a regexp and no `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
(By the way, naming a variable `list` is a bad idea since `list` is a Python type...)
Problem
``` import glob list = glob.glob(r'*abc*.txt') + glob.glob(r'*123*.txt') + glob.glob(r'*a1b*.txt') for i in list: print i ``` This code works to list files in the current folder which have `'abc'`, `'123'` or `'a1b'` in their names. How would I use one `glob` to perform this function?