如何使用 python argparse 解析 CMake 风格的参数?
How to parse CMake-style arguments with python argparse?
我正在使用 argparse 来解析形式为 -D VAR=VALUE
或 --config VAR=VALUE
的参数,如下所示:
cmd.add_argument('--config', '-D', action = 'append', default = [])
我还想支持 -DVAR=VALUE
.
形式的 CMake 样式变量赋值
有没有不用手动 sys.argv 修补就可以使用 argparse 实现它的好方法?
是的,argparse 支持所有常见形式的 cli 参数。示例:
import argparse
cmd = argparse.ArgumentParser()
cmd.add_argument('-D', action='append', default = [])
print(cmd.parse_args())
用法:
$ python test_argparse.py -DVAR=val1 -DDEFINED_VAR -D ANOTHER_DEF -D VAR="string_val"
Namespace(D=['VAR=val1', 'DEFINED_VAR', 'ANOTHER_DEF', 'VAR=string_val'])
但您可能应该设置 2 个不同的参数来处理 -D
和 --config
选项。
我正在使用 argparse 来解析形式为 -D VAR=VALUE
或 --config VAR=VALUE
的参数,如下所示:
cmd.add_argument('--config', '-D', action = 'append', default = [])
我还想支持 -DVAR=VALUE
.
有没有不用手动 sys.argv 修补就可以使用 argparse 实现它的好方法?
是的,argparse 支持所有常见形式的 cli 参数。示例:
import argparse
cmd = argparse.ArgumentParser()
cmd.add_argument('-D', action='append', default = [])
print(cmd.parse_args())
用法:
$ python test_argparse.py -DVAR=val1 -DDEFINED_VAR -D ANOTHER_DEF -D VAR="string_val"
Namespace(D=['VAR=val1', 'DEFINED_VAR', 'ANOTHER_DEF', 'VAR=string_val'])
但您可能应该设置 2 个不同的参数来处理 -D
和 --config
选项。