【发布时间】:2016-08-27 12:42:39
【问题描述】:
让我解释一下我的想法,以便为您提供一些背景信息。 我有一堆 python 脚本(使用 argpars 或 optpars),它们的输出通常可以在控制台上以 json、纯文本或 csv 格式显示。
我想构建一个 webapp(例如 angular + node),它为我的每个脚本自动生成一个网页,包括一些输入框,用于 python 脚本所需的任何参数,以便从 UI 运行它们.
我不想为每个 python 脚本编写它们需要运行的参数列表和类型,但我正在寻找一种自动方法来从每个 python 脚本本身中提取此类列表。
我可以尝试解析每个脚本的 -h 输出或解析脚本本身 (add_option) 但它可能容易出错。
您是否知道任何允许我自动执行此操作的工具/脚本/模块?
非常感谢。
【问题讨论】:
-
假设每个脚本都支持
-h,也许docopt可以解析结果。 -
@Robᵩ 谢谢,但它看起来更像是 argparse 等的替代品..
-
你误会了。我的意思是您应该运行
somescript -h,捕获输出,将该输出传递给docopt的解析器,然后使用生成的数据结构来生成您的HTML。您不会按预期使用doctopt。 -
Docopt 使选项定义成为 -h 输出,因此它有助于 argparse 容易出现不一致的地方。
-
@Robᵩ 很酷的想法,但是,我刚刚做了一个测试,它对我有用,例如 """test.py INPUT] [-o OUTPUT] 可选参数:-h,--help 显示此帮助消息并退出 -i INPUT,--input INPUT 输入日志文件 -o OUTPUT,--output OUTPUT 输出 """ 被解析为:{ '--help': False, '--input': None, '--output': None} 自己也能获得帮助会很酷