如何在Python argparse中解析这个命令行参数?

时间:2016-12-08 07:03:14

标签: python argparse

我想解析我的命令行参数,如:

python main.py Option_1 -r ... -m ...
python main.py Option_2 -r ... -m ...

我要求我的第一个参数是一个字符串,它必须是Option_1Option_2。第一个参数后的所有内容都是正常的选项/值对。

我似乎无法找到如何使用argparse库。我可以轻松获取选项/值对,但如何解析Option_1Option_2,它们没有-r-m这样的标记?

2 个答案:

答案 0 :(得分:1)

尝试使用选择的位置参数:

parser.add_argument('pos', choices=['Option_1','Option_2'], help=...)

它将接受这两个中的一个作为第一个字符串,但它实际上不必是第一个。在第一个-r之前,将接受一个或多个-mpositional参数。

答案 1 :(得分:0)

在解析之前从sys.argv删除我想要的参数。

sys.argv.pop(1)  
parser = argparse.ArgumentParser()