true', shell=True) CompletedProcess(args='false

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

我想了解 subprocess.run:

>>> subprocess.run('false | true', shell=True)
CompletedProcess(args='false | true', returncode=0)
>>> subprocess.run(['false', '|', 'true'])
CompletedProcess(args=['false', '|', 'true'], returncode=1)
>>> subprocess.run(['false', '|', 'true'], shell=True)
CompletedProcess(args=['false', '|', 'true'], returncode=1)

看起来像是在指定 cmd 作为一个字符串列表,也设置了 pipefail shell选项。

$ false | true
$ echo $?
0
$ set -o pipefail
$ false | true
$ echo $?
1

我在子进程模块的文档中找不到任何相关信息。我使用的是python 3.6。有谁知道这是如何工作的?

python subprocess
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.