如何删除子进程调用中的额外输出?

问题描述 投票:0回答:1

我的代码正在发出 API 请求。作为响应,我得到 json 和附加输出。如何从响应中删除额外的输出?

我使用Linux操作系统和Python 3

import subprocess

url = "curl -k -u '{user}':'{password}' {url}api/v1/clusters/{cl_name}/alerts?fields=*\&Alert/state.in\(WARNING,CRITICAL\)\&sortBy=Alert/state".format(user=self.user, password=self.passwd, url=cluster.url, cl_name=cluster.name)
resp = subprocess.check_output(url,stderr=subprocess.STDOUT, shell=True)

响应看起来像这样:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   603    0   603    0     0   1419      0 --:--:-- --:--:-- --:--:--  1470
14:03
{
        "cluster_name" : "test_clust1",
        "component_name" : "DATANODE",
        "definition_id" : 18,
        "definition_name" : "datanode_storage"
}
python subprocess
1个回答
-1
投票

是的,您应该将 stderr 日志重定向到 null。

2>/dev/null
- 命令之后

© www.soinside.com 2019 - 2024. All rights reserved.