【问题标题】: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 参数之后指定的文件,然后对输出做任何您想做的事情。