【问题标题】:Start own termianl tool as an argument of an command启动自己的终端工具作为命令的参数
【发布时间】:2018-10-27 23:13:54
【问题描述】:

我目前正在开发一个分析命令输出的终端工具。 我用python编写了这个工具。 现在我想在每个命令中将我的工具作为参数启动,例如:python program.py -analyse

在这种情况下,python program.py 是命令,我想使用参数-analyse 启动我自己的项目anaylse.py,它分析项目的输出并将自己的输出写入文件。现在我的问题:

如何从参数-analyse 开始我自己的程序analyse.py,以及如何捕获和读取python program.py 的输出?

【问题讨论】:

    标签: python linux shell terminal command


    【解决方案1】:

    添加 -analysis 作为参数会将其传递给 program.py。我不认为那是你要找的。我想你正在寻找python program.py | python analyse.py。然后从标准输入读取输出。

    在 analyse.py 的顶部抛出 #!/usr/bin/python 并将权限更改为可执行以使其更简单:python program.py | analyse.py

    【讨论】:

      【解决方案2】:

      argparse 是处理命令行参数的标准库模块。我建议您按以下方式构建脚本参数:

      选择一个字符,例如f,以指明您希望通过您的工具运行的脚本的名称。这将通过以下方式调用:

      python program.py -f analyse.py

      然后您可以使用argparse 简单地执行-f 参数之后指定的文件,然后对输出做任何您想做的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-11
        • 1970-01-01
        • 2015-08-03
        • 2013-06-01
        相关资源
        最近更新 更多