【发布时间】:2020-06-01 18:47:03
【问题描述】:
我如何将which somecommand 的结果通过管道传输到outerCommand,以便将我将在shell 中执行的结果复制为outercommand 'which somecommand'
【问题讨论】:
-
@MauriceMeyer 不,它没有回答我的问题
标签: python subprocess
我如何将which somecommand 的结果通过管道传输到outerCommand,以便将我将在shell 中执行的结果复制为outercommand 'which somecommand'
【问题讨论】:
标签: python subprocess
根据文档的建议,我会避免使用低级接口Popen,从长远来看很难正确使用,而盲目地使用shell=True,这可能会使您暴露于@987654321 @。
因此,如果您只需要这样,我会建议一种更简单的方法:只需捕获输出并使用新 subprocess.run() API 的新 capture_output 参数使用它。
这将得到你所需要的:
completed_process = subprocess.run(['outercommand', subprocess.run(['which', 'somecommand'], capture_output=True).stdout], capture_output=True)
completed_process.check_returncode()
print(completed_process.stdout.decode('utf-8'))
【讨论】: