ошибка Python с Popen при использовании подпроцесса - PullRequest
0 голосов
/ 01 мая 2011

У меня есть сценарий Python это

var1 = subprocess.Popen("pwd | grep 'home' ");
print var1

Но это дает мне ошибку

1 Ответ

6 голосов
/ 01 мая 2011

Вам нужно добавить shell=True, если вы хотите, чтобы оболочка правильно интерпретировала канал:

var1 = subprocess.Popen("pwd | grep 'home' ", shell=True)

(Обратите внимание, что вам не нужна точка с запятой в конце строки.) Однако это может не дать ожидаемого результата - возвращает объект Popen, поэтому вам нужно проверить, возвращает ли var1.wait() 0 или нет.

Гораздо проще, если вы просто хотите узнать, содержит ли текущий каталог 'home':

if 'home' in os.getcwd():
    print "'home' is in the current working directory's path"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...