python中的subprocess.call()用于?

问题描述 投票:-3回答:1
roadSegCommand = segBin + pred_img + self.out_dir # Here we are adding 3 links
output = subprocess.call(['bash','-c', roadSegCommand])

Bash在我的PC中不起作用,因此我使用了“ pip”而不是“ bash”。如果我在此处放置-c,则控制台上不会出现此类选项-c。因此,如果我更改为-h,它将正常工作。但我的问题是

  1. subprocess.call(["pip","-h",roadSegCommand])正确吗?

  2. 子流程调用和popen有什么区别。

  3. 括号roadSegCommand中的符号正确吗?

  4. 我将使用pip代替bash。它们之间有什么区别?

bash pip subprocess call popen
1个回答
0
投票

子进程用于运行OS命令

[pip -h显示pip命令的帮助内容,并且不包含任何参数,因此1)否,不正确

bash -c "command statement"将运行该语句使用bash

如果bash对您的系统不可用,Python或pip将帮助您运行bash命令,因此4)它们完全是完全独立的程序

[您的所有其他问题都由子流程模块docs回答-特别是https://docs.python.org/3/library/subprocess.html,您可以call一个流程或open它来获取其输出和运行状态

3)是,您具有有效的Python语法

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