我正在尝试捕获输出。如果,在python提示符下,我运行
p = subprocess.Popen(["/path/to/search_by_hash.par", hash_str],
stdout=subprocess.PIPE)
返回值(列表)打印到stdout,但未捕获
[4460475, 4406612, 4379510]
我尝试用
跟进value = p.communicate()[0]
value
..但是值是一个空字符串,而不是我期望的整数列表,并且正在打印到stdout
我尝试了Store output of subprocess.Popen call in a string的解决方案但未能捕获输出。
更新:
stderr似乎也没有产生任何东西......而且我正在寻找的列表被打印出来......只是没有任何运气来捕捉它。见下文:>>> p = subprocess.Popen(["/home/jfry/tools/search_by_hash.par", hash_str],
stdout=subprocess.PIPE)
>>>
[4460475, 4406612, 4379510]
value, err = p.communicate()
>>> value
''
>>> err
谢谢!
答案 0 :(得分:5)
尝试使用stderr
检查p.communicate()[1]
。
答案 1 :(得分:3)
因为接受的答案没有解决问题(至少对我而言):
要捕获if let navigationController = self.navigationController {
navigationController.popViewControllerAnimated(false)
navigationController.pushViewController(self, animated: false)
}
- 输出,应执行以下操作:
UIBarButtonItem
关键部分是参数if (strpos($brss[**$i**],$usera)!==false) {
echo "true";
} else {
echo "false";
}
,如果没有此参数,stderr
- 输出将不会被捕获,import subprocess
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, err = p.communicate()
将是stderr=subprocess.PIPE
。
如果您只对stderr
- 输出感兴趣,实际上可以使用:
err
在这种情况下,None
为stderr
。
答案 2 :(得分:1)
沟通是一种方法。所以你应该打电话给它!
out = p.communicate()