Python 选项解析器:带有可选参数的布尔标志
Posted
技术标签:
【中文标题】Python 选项解析器:带有可选参数的布尔标志【英文标题】:Python Option Parser: Boolean flag with optional parameters 【发布时间】:2011-08-23 04:52:27 【问题描述】:我正在使用 optparse.OptionParser 来管理某些脚本的参数,而我想/想要做的事情是具有也可以接受参数的布尔标志(即 action=store_true
)。
为了说明这一点,我有一个应用程序,它可以使用机器上找到的尽可能多的 GPU/处理器。由于各种原因,有时您希望限制它使用的设备数量,而不是进一步弄乱命令行,我希望能够:
script -c -g
意思是使用所有cpus和gpus,并且
script -c 2 -g 3
意味着将脚本执行限制为 2 个 CPU 和 3 个 GPU。
阅读 optparse 文档后,我一点也不聪明。哦,伟大的大师!把你的智慧借给我!
【问题讨论】:
【参考方案1】:您可以使用callback
操作很容易地实现这一点。特别是,OptionParser
的回调操作的example 6 in the documentation 讨论了可变数量的参数。以下是该示例中的引述:
当你想要一个 选择可变数量的 论据。对于这种情况,您必须 写一个回调,因为 optparse 没有 提供任何内置功能 它。
【讨论】:
感谢 Eli,看到了这一点,但希望为“我是布尔值或参数”的极端情况提供更清晰的内容 @Andrew:我认为它是“0 或 1 个参数” 尽可能接近答案。谢谢@Eli以上是关于Python 选项解析器:带有可选参数的布尔标志的主要内容,如果未能解决你的问题,请参考以下文章