首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从subprocess.run获取返回数据

从subprocess.run获取返回数据
EN

Stack Overflow用户
提问于 2022-02-03 02:20:11
回答 1查看 22关注 0票数 -1

我希望从suprocess.run获得返回数据(而不是返回代码或输出)。我希望获得返回的输出,并将其作为API调用的JSON响应返回。目前,我已经将它设置为如下所示,但这只会给我object_tracker.py打印的内容,而不是它返回的内容。我已经阅读了一些文档,但我仍然不知道如何做到这一点。

代码语言:javascript
复制
res = subprocess.run(['python', './model/yolov4_deepsort/object_tracker.py', '--video', './model/yolov4_deepsort/data/video/test_0.mp4', '--model', 'yolov4', '--dont_show'], capture_output= True)
EN

回答 1

Stack Overflow用户

发布于 2022-02-03 03:13:57

您可以按照顺序使用subprocess.check_output直接获得输出。

如果要继续使用subprocess.run函数,则应该提供capture_output=True参数,并使用subprocess.run函数中的.stdout属性。

下面是一个例子。

代码语言:javascript
复制
import subprocess

run = subprocess.run(["ls"], capture_output=True)

print(run.stdout.decode("utf-8"))

subprocess.check_output示例

代码语言:javascript
复制
import subprocess

run = subprocess.check_output(["ls"])

print(run.decode())

decode函数用于将输出转换为更具可读性的格式,您可以尝试删除解码函数,并了解输出的样子!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70965206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档