如何解析带标志和不带标志的命令行参数

How to parse command line arguments with flags and without

我通常使用 optparse/argparse 来获取命令行参数,但它们总是有一个与之关联的标志。 (我必须写一些东西才能在 python pre 2.6 和 post 2.6 上工作)

./myscript -d -v -f something

但是,我现在需要做这样的事情:

./myscript -d -v -f something -g something action

其中提供的操作前面没有 - 标志。 (抱歉不能在这里使用标志,我正在与之交互的傻组不想更改他们的代码)

我仍想使用 optparse/argparse,但还要获取 action 参数。可以提供数量可变的 -flag 参数,并且只有 1 个裸操作参数。

要创建位置参数,只需不要在名称前放置连字符即可,即

parser.add_argument('action')