Python Option Parser:带有可选参数的布尔标志

时间:2011-05-11 10:38:24

标签: python parameter-passing command-line-arguments optional-parameters

我正在使用optparse.OptionParser来管理某些脚本的参数,而我想知道/想要做的是有布尔标志(即action=store_true)也可以接受参数。

为了将其置于上下文中,我有一个应用程序可以使用在机器上找到的尽可能多的GPU /处理器。出于各种原因,有时您希望限制它使用的设备数量,而不是进一步混乱命令行,我希望能够:

script -c -g

意味着尽可能使用所有cpus和gpus,以及

script -c 2 -g 3

意味着将脚本执行限制为2个CPU和3个GPU。

阅读optparse文档后,我不是更聪明的人。哦,伟大的大师!把你的智慧借给我!

1 个答案:

答案 0 :(得分:1)

您可以使用callback操作轻松实现此功能。特别是,OptionParser的回调操作的example 6 in the documentation讨论了可变数量的参数。以下是该示例的一个有说服力的引用:

  

当你想要一件事时,事情变得多毛   采取可变数量的选项   参数。对于这种情况,你必须   写一个回调,因为optparse没有   提供任何内置功能   它