我想解析我的命令行参数,如:
python main.py Option_1 -r ... -m ...
python main.py Option_2 -r ... -m ...
我要求我的第一个参数是一个字符串,它必须是Option_1
或Option_2
。第一个参数后的所有内容都是正常的选项/值对。
我似乎无法找到如何使用argparse库。我可以轻松获取选项/值对,但如何解析Option_1
和Option_2
,它们没有-r
和-m
这样的标记?
答案 0 :(得分:1)
尝试使用选择的位置参数:
parser.add_argument('pos', choices=['Option_1','Option_2'], help=...)
它将接受这两个中的一个作为第一个字符串,但它实际上不必是第一个。在第一个-r
之前,将接受一个或多个-m
和positional
参数。
答案 1 :(得分:0)
在解析之前从sys.argv
删除我想要的参数。
sys.argv.pop(1)
parser = argparse.ArgumentParser()