子进程标准输出:删除不必要的字符

Subprocess stdout: remove unnecessary char

我正在使用 subprocess 模块并且它工作正常,唯一的问题是标准输出 returns 一个值“b'”或者在某些情况下更长像“用户配置 - 忽略...”这样的文本。是否可以在不使用 str.substring() 或类似方法的情况下删除标准输出的第一部分。

output = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

在上面的示例中,可以使用 std.out.decode() 函数并将其保存为 < str >

decoded_output = nodes.stdout.decode()

如果某些类型的命令支持 json 输出(例如 proxmox 中的 pvesh),您可以使用该字符串并将其加载为 json。

json_output = json.loads(decoded_output)