Skip to main content
 首页 » 编程设计

python之shell的&&和||在 python

2025年05月04日14daizhj

在 shell 中,如果我只想在第一个命令成功时执行第二个命令,我会这样做

cmd1 && cmd2 

如果我需要在第一个命令失败时执行第二个命令,我会这样做

cmd1 || cmd2 

我在 python 脚本中通过 subprocess.call 调用命令列表。我怎样才能做到以上几点?

请您参考如下方法:

将shell=True 传递给subprocess.call,您就可以执行任意shell 命令。只要确保你escape/quote everything correctly .

subprocess.call("true && echo yes!", shell=True) 

打印yes!,而

subprocess.call("false && echo yes!", shell=True) 

什么都不打印。

(您不需要转义或引用 && 或 ||,但文件名中包含空格可能会很麻烦。)