如何在 Python argparse 中解析此命令行参数?
How to parse this command-line arguments in Python argparse?
我想解析我的命令行参数,例如:
python main.py Option_1 -r ... -m ...
python main.py Option_2 -r ... -m ...
我要求我的第一个参数是一个字符串,它必须是 Option_1
或 Option_2
。第一个参数之后的所有内容都是正常的 option/value 对。
我似乎找不到使用 argparse 库的方法。我可以轻松抓取 option/value 对,但是如何解析 Option_1
和 Option_2
,它们没有像 -r
和 -m
这样的标志?
尝试使用选项的位置参数:
parser.add_argument('pos', choices=['Option_1','Option_2'], help=...)
它将接受这 2 个字符串中的一个作为第一个字符串,但实际上不一定是第一个。 -r
和 -m
参数中的一个或多个将在第一个 positional
.
之前被接受
在解析工作之前从 sys.argv
中删除我想要的参数。
sys.argv.pop(1)
parser = argparse.ArgumentParser()
我想解析我的命令行参数,例如:
python main.py Option_1 -r ... -m ...
python main.py Option_2 -r ... -m ...
我要求我的第一个参数是一个字符串,它必须是 Option_1
或 Option_2
。第一个参数之后的所有内容都是正常的 option/value 对。
我似乎找不到使用 argparse 库的方法。我可以轻松抓取 option/value 对,但是如何解析 Option_1
和 Option_2
,它们没有像 -r
和 -m
这样的标志?
尝试使用选项的位置参数:
parser.add_argument('pos', choices=['Option_1','Option_2'], help=...)
它将接受这 2 个字符串中的一个作为第一个字符串,但实际上不一定是第一个。 -r
和 -m
参数中的一个或多个将在第一个 positional
.
在解析工作之前从 sys.argv
中删除我想要的参数。
sys.argv.pop(1)
parser = argparse.ArgumentParser()