如何从 Python 脚本中的 shell 重定向获取输出数据?

How to get output data from shell redirection inside a Python script?

实际上,我正在创建几个实用程序来处理 AWS CLI 响应,这些响应以 json 响应。 我的整个脚本生态系统都基于 Python,通常我会创建微型实用程序来获取 json 数据并解析为 readable/organized 数据。

但我注意到我花了很多时间来创建脚本,除了隐藏 数据结构 响应之外,这可能也很有用。

一个更有趣的替代方法是创建一个脚本,它只从 aws cli 接收 json 数据,并以 map 作为参数,将信息过滤到什么我需要。我假装通过一个简单的 shell 重定向(管道)来做到这一点。

现在,我可以在 Node.js 脚本中做类似的事情。以下准确说明了我想在 Python 中如何操作:

除非有人说没有办法将 shell 命令输出重定向到 python 脚本,否则我不想只用与其他语言不同的语言维护这段代码.

如何将 shell 输出重定向到 python 脚本?

您可以在 Python 中阅读 sys.stdin。我对上面 javascript 代码的理解是在 Python:

中翻译成这个
import sys
import json

object_data = json.loads(sys.stdin.read())
print(object_data['description'])

但是请注意,AWS API 有一个 Python SDK,因此您可能根本不需要绕过这些 JSON 输出。