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
,它将正常工作。但我的问题是
subprocess.call(["pip","-h",roadSegCommand])
正确吗?
子流程调用和popen有什么区别。
括号roadSegCommand中的符号正确吗?
我将使用pip代替bash。它们之间有什么区别?
子进程用于运行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语法