Как выполнить сложный запрос в subprocess.run в python - PullRequest
0 голосов
/ 16 апреля 2020

Я хотел бы запустить следующую команду с помощью подпроцесса python.

docker run --rm -it -v $ (pwd): / grep11-cli / config ibmzcontainers / hpvs-cli -installer: список шифрования 1.2.0.1.s390x | grep 'cex4queue ": []'

Если я запускаю с использованием subprocess.call () - он работает. Но я не могу проверить возвращаемое значение

s1 =" docker запустите --rm -it -v $ (pwd): / grep11-cli / config ibmzcontainers / hpvs-cli-installer: 1.2.0.1.s390x список шифрования | grep \ 'cex4queue \ ": [] \'" p1 = subprocess.call (s1, shell = True)

Та же команда с subprocess.run не работает.

Я хочу проверить, присутствует ли эта строка или нет. Как я могу проверить?

1 Ответ

0 голосов
/ 16 апреля 2020

Я бы порекомендовал использовать subprocess.Popem:

import subprocess as sb

process = sb.Popen("docker run --rm -it -v $(pwd):/grep11-cli/config ibmzcontainers/hpvs-cli-installer:1.2.0.1.s390x crypto list | grep 'cex4queue\": []'".split(), stdout=sb.PIPE, stderror=sb.PIPE)

output, errors = process.communicate()

print('The output is: {}\n\nThe errors were: {}'.format(output, errors))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...