我正在使用optparse.OptionParser来管理某些脚本的参数,而我想知道/想要做的是有布尔标志(即action=store_true
)也可以接受参数。
为了将其置于上下文中,我有一个应用程序可以使用在机器上找到的尽可能多的GPU /处理器。出于各种原因,有时您希望限制它使用的设备数量,而不是进一步混乱命令行,我希望能够:
script -c -g
意味着尽可能使用所有cpus和gpus,以及
script -c 2 -g 3
意味着将脚本执行限制为2个CPU和3个GPU。
阅读optparse文档后,我不是更聪明的人。哦,伟大的大师!把你的智慧借给我!
答案 0 :(得分:1)
您可以使用callback
操作轻松实现此功能。特别是,OptionParser
的回调操作的example 6 in the documentation讨论了可变数量的参数。以下是该示例的一个有说服力的引用:
当你想要一件事时,事情变得多毛 采取可变数量的选项 参数。对于这种情况,你必须 写一个回调,因为optparse没有 提供任何内置功能 它