Список файлов (которые могут содержать символы подстановки) в качестве аргументов скрипта Python - PullRequest
3 голосов
/ 13 марта 2012

Во многих скриптах на Python я сам делаю следующее:

for maybe_glob in sys.argv[1:]:
    for filename in glob.iglob(maybe_glob):
        print(filename)

Я должен сделать это, потому что скрипты должны также запускаться в терминалах, которые не расширяют подстановочные знаки (например, окна).Есть ли более короткая версия для этого?Есть ли способ (например, с помощью argparser) для непосредственного расширения подстановочных знаков при разборе аргумента?

Спасибо

1 Ответ

1 голос
/ 14 марта 2012

Вы можете избежать двойного цикла с помощью итератора цепочки, но вряд ли это выглядит как улучшение.

for fname in itertools.chain(*map(glob.iglob, sys.argv[1:])):
    print fname

Но вы могли бы обернуть это в рутину:

def allglob(args):
    return itertools.chain.from_iterable(map(glob.iglob, args))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...