我正在尝试为 The Silver Searcher 编写一个包装器在 Python 中(Silver Searcher 就像 ack 和 grep)。
但是,我无法使用子进程库成功调用该程序。我可以获得帮助文本或版本等信息,但无法启动搜索(当我尝试时,它会失败并打印帮助文本)。
我尝试了以下方法,但没有成功:
import subprocess
p = subprocess.Popen(['ag', 'fit'], shell=True)
p.communicate()
p = subprocess.Popen(['ag', 'fit'])
p.communicate()
p = subprocess.Popen(['ag', 'fit'], shell=True)
p.wait()
p.communicate()
p = subprocess.Popen(['ag', 'fit'])
p.wait()
p.communicate()
如何捕获 The Silver Searcher 的输出?最好是在创建时(调用我需要几秒钟)。
最佳答案
以下内容适用于我的系统:
import subprocess
p = subprocess.Popen(["ag", "fit"], stdout=subprocess.PIPE)
print p.communicate()
关于python - 无法通过子进程调用从 The Silver Searcher 获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27178762/