如果要将该命令作为字符串传递给该命令,
Popen并且该命令中具有到其他命令的管道,则需要使用
shell=True关键字。
我对
omp命令并不特别熟悉,但是闻起来就像是无用的猫一样。我认为实现此目标的更好方法是:
import shlexomp_cmd = 'omp -h %s -u %s -w %s -p %s -X %s' %(self.host_IP, self.username, self.password, self.port, temp_xml)xmlResult = Popen(shlex.split(omp_cmd), stdout=PIPE, stderr=STDOUT)
或者,如果这不是对cat的无用使用(您确实需要通过stdin将文件通过管道传输),也可以使用子进程来实现:
import shlexomp_cmd = 'omp -h %s -u %s -w %s -p %s -X -' %(self.host_IP, self.username, self.password)with open(temp_xml) as stdin: xmlResult = Popen(shlex.split(omp_cmd), stdin=stdin, stdout=PIPE, stderr=STDOUT)


![python:提高child_exception,OSError:[Errno 2]没有这样的文件或目录 python:提高child_exception,OSError:[Errno 2]没有这样的文件或目录](http://www.mshxw.com/aiimages/31/516926.png)
