首页 > 解决方案 > python argparse:允许未注册的参数

问题描述

我正在尝试使用 argparse 允许未知参数,而无需像此处json.loads提供的解决方案中那样输入大量引号。

fire软件包设法做到这一点。

例如将以下程序保存到 example.py

import fire

def example_fire_function( **kwargs):
    print(kwargs)

if __name__ == "__main__":
    fire.Fire(example_fire_function)

并调用它

python example.py --dringus 4

输出{'dringus': 4},根据需要。

仅使用内置argparse软件包可以做到这一点吗?我已经有一个大的 argparse 参数列表,并希望将其添加到顶部。

标签: pythonpython-3.xargparse

解决方案


parse_known_args,会将未知数放在一个列表中,但是将它们分成键/值对是您的工作。或者直接解析sys.argv。使用的重点argparse是让程序员控制用户提供的内容(包括使用帮助)。如果允许任何“标志值”对,则不需要它。

复制自hpaulj评论


推荐阅读