【问题标题】:How to get output data from shell redirection inside a Python script?如何从 Python 脚本中的 shell 重定向获取输出数据?
【发布时间】:2020-07-05 19:20:08
【问题描述】:

实际上,我正在创建几个实用程序来处理 AWS CLI 响应,它们以 json 响应。 我的整个脚本生态系统都基于 Python,通常我会创建一些小型实用程序来获取 json 数据并解析为可读/有组织的数据。

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

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

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

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

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

【问题讨论】:

    标签: python node.js shell pipe


    【解决方案1】:

    您可以在 Python 中阅读 sys.stdin。我对上述 javascript 代码的理解在 Python 中是这样翻译的:

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

    但请注意,AWS API 有一个 Python 开发工具包,因此您可能根本不需要围绕这些 JSON 输出进行管道传输。

    【讨论】:

      猜你喜欢
      • 2016-10-29
      • 1970-01-01
      • 2023-03-30
      • 2022-11-24
      • 2018-08-12
      • 1970-01-01
      • 2014-09-01
      • 2010-10-07
      • 2010-09-23
      相关资源
      最近更新 更多