Как использовать переменные в подпроцессе, выполняя несколько команд в одном сеансе с использованием Python - PullRequest
0 голосов
/ 25 февраля 2019

Я хочу запустить несколько команд оболочки, используя подпроцесс в Python.Команды также содержат переменные.

Ниже приведен код, который я пробовал, но он не работает.

import subprocess
fdr = "build"
dir = "temp"
subprocess.call("cd "+fdr+";mkdir "+dir+";cd "+dir+";pwd", shell=True)

fdr, dir - переменные.как я могу это сделать?

1 Ответ

0 голосов
/ 25 февраля 2019

Есть небольшая проблема с &&.Попробуйте это:

import subprocess
fdr = "build"
dir = "temp"
subprocess.call("cd "+fdr+" && mkdir "+dir+" && cd "+dir+" && pwd", shell=True)

&& в bash вызывает другую команду, только если первая была успешной.Он работает на моей машине (к сожалению, сейчас у меня только Windows cmd, поэтому я внес некоторые изменения в свою версию, но он должен работать так же).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...