python - shell的&&和||在 python

标签 python shell command

在 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)

什么都不打印。

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

关于python - shell的&&和||在 python ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12422562/

相关文章:

使用 Python 和 webapp2 的 Jquery 自动完成

python-rrdtool,如何在 UTC 时区创建图表

Node.js 语法错误 : Unexpected end of input

java - 线程 "main"java.net.BindException : Address already in use 中的异常

c - 如何修复代码以打开代码块中命令提示符中传递的文件

java - 运行时命令不再起作用

python - Ubuntu 上的 Flask 无法找到 Flask.json

python - 部署 Python 应用程序时出现 Unicode 编码错误

linux - 将文件从列表复制到文件夹

linux - 从多个结果中 grep 单个单词