-1
我没有从下面的代码输出,但它也没有产生错误。当在命令行上手动输入命令时,我会得到很多输出。P.communicate()不返回输出,但退出代码为0
grepCommand = "box | grep " + grepHostKey
grepCommand = grepCommand.split()
p = subprocess.Popen(grepCommand, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(hostString, err) = p.communicate()
print hostString
print err
输出:
如果我添加壳=真我得到的只是“框”命令预期的反应,并没有管道输送到grep的。我已经看到,建议不要使用shell = True。我尝试过bufsize = 8192,它足够大,但仍然没有任何结果。关于什么是错的任何想法?
upvote for _not_ recommendation'shell = True' :) –