Я хочу запустить findstr из своей среды python и не могу заставить его работать при вызове с использованием подпроцесса (я могу запустить команду findstr из командной строки с помощью приглашения dos):
commandlist = ['findstr', '/s', '"texttofind"', '*.py']
cwd = 'e:\\python'
shell = True
encoding = 'utf-8'
output = subprocess.run(commandlist,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
encoding=encoding, shell=shell, cwd=cwd)
, который заканчивается кодом возврата 1:
CompletedProcess(args=['findstr', '/s', '"runrcode"', '*.py'],returncode=1, stdout='', stderr='')
Если вместо этого я использую commandlist = ['path'], то все работает нормально, в результате получается код возврата 0 и стандартный вывод с текстовым списком для путикак и ожидалось (конечно, чтобы это работало, оболочка должна быть True).
Есть идеи, как заставить это работать? Не уверен, что мне не хватает. Большое спасибо.