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

Bol*_*ter 6 python parameter-passing optional-parameters command-line-arguments

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

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

script -c -g
Run Code Online (Sandbox Code Playgroud)

意思是尽可能地使用所有cpus和gpus,以及

script -c 2 -g 3
Run Code Online (Sandbox Code Playgroud)

意思是将脚本执行限制为2个CPU和3个GPU.

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

Eli*_*sky 1

您可以使用该callback操作来非常轻松地实现这一点。特别是,回调操作文档中的示例 6OptionParser讨论了可变数量的参数。这是该示例中的一个有说服力的引用:

\n\n
\n

当您希望选项采用可变数量的参数时,事情会变得很棘手。对于这种情况,您必须编写一个回调,因为 optparse 不为其提供任何内置功能。

\n
\n