让我解释一下我的想法,以便为您提供一些背景信息。 我有一堆python脚本(使用argpars或optpars),它们的输出通常可以在json,plaint text或csv格式的consolle上。
我想构建一个webapp(例如angular + node),它为我的每个脚本自动生成一个网页,包括python脚本所需的任何参数的输入框,以便从UI运行它们
我不想为每个python脚本编写它们需要运行的参数的列表和类型,但我正在寻找一种自动方式从每个python脚本本身提取这样的列表。
我可以尝试解析每个脚本的-h输出或解析脚本本身(add_option)但它可能容易出错。
您是否了解允许我自动执行的任何工具/脚本/模块?
非常感谢。
答案 0 :(得分:1)
inspect
模块将在此处提供帮助:
>>> import inspect
>>> def example_function(a, b, c=1234):
pass
>>> inspect.getargspec(example_function)
ArgSpec(args=['a', 'b', 'c'], varargs=None, keywords=None, defaults=(1234,))
答案 1 :(得分:0)
您可能需要详细说明您对脚本及其解析器的访问权限。它们是您只能使用-h
调用并获取帮助或使用消息的黑盒子,还是可以检查parser
?
例如,在使用argparse
时,您创建parser
,为其分配一些属性并创建参数Actions
。这些操作对象收集在列表parser._actions
中。
查看parser.format_help
和parser.format_usage
方法,了解将哪些值传递给帮助格式化程序以创建字符串显示。
除了检查argparse.py
文件外,我还建议在交互式会话中创建解析器,并检查创建的对象。