Я предполагаю, что вы хотите использовать grep для 'foo12' во всех файлах, заканчивающихся на '.log', чтобы заставить его работать только с subprocess
, вам нужно изменить код на следующее:
userid = 'foo12'
p = subprocess.Popen('grep %s *.log' % userid, stdout=subprocess.PIPE, shell=True)
shell=True
необходим для расширения подстановочного знака, и когда эта опция установлена, вам нужно предоставить строковую команду вместо списка.
Кроме того, убедитесь, что при предоставлении списка аргументов каждый аргумент является отдельной записью в списке, ваш исходный код был бы эквивалентен следующему:
grep 'foo12 *.log'