如何在子进程中使用变量在单个会话中使用python执行多个命令

问题描述 投票:1回答:1

我想在python中使用subprocess运行多个shell命令。命令也包含变量。

下面是我尝试过的代码,但它不起作用。

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

fdr, dir是变量。我怎样才能做到这一点?

python variables static double-quotes
1个回答
0
投票

&&有一点问题。试试这个:

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

bash中的&&仅在第一个命令成功时调用其他命令。它可以在我的机器上运行(不幸的是我现在只有Windows cmd所以我对我的版本进行了一些更改,但它的工作原理相同)。

© www.soinside.com 2019 - 2024. All rights reserved.