Can write own function with itertools chain() to make glob take unlimited arguments.
from glob import iglob from itertools import chain import os def multi_glob(*args): return chain.from_iterable(iglob(pattern) for pattern in args) for filename in multi_glob('*.txt', '*.bmp', '*jpg'): print(filename) #os.remove(filename)
Quote:The python equivalent to the Linux command line :So can make the same i call it
rm *.log *.err
py_rm
,using my favorite command line tool Click.# py_rm.py from glob import iglob from itertools import chain import os import click def iter_glob(*args): return chain.from_iterable(iglob(pattern) for pattern in args) @click.command() @click.argument('arg', nargs=-1) def rm(arg): for filename in iter_glob(*arg): click.echo(filename) #os.remove(filename) if __name__ == '__main__': rm()Test from command line.
Output:C:\code\mod
λ py_rm.py *.txt *.bmp *.jpg
bar.txt
spam.bmp
test.bmp
egg.jpg