在 optparse 中用 -h 选项

Python 里 optparse 是一个很不错的命令行参数处理模块,不过当我想把 -h 用作指定 hostname 时发现默认的 -h 参数非常恼人,模块报告一个冲突,但是文档却没有记录如何解决这种问题。翻了源代码,找到解决办法:

方法一,初始化 OptionParser 的实例时指定 add_help_option=False,再自己添加一个 --help 选项:

parser = optparse.OptionParser(usage=usage, add_help_option=False)
parser.add_option('', '--help', action='help')

这样 -h 就空出来啦。

方法二,初始化 OptionParser 实例时指定 conflict_handler="resolve",然后就不用理会默认的 -h/--help 直接加自己的选项就行了,冲突时会只取用最后指定的选项。

parser = optparse.OptionParser(usage=usage, conflict_handler="resolve")
 1

Tags

Blogroll

Fairy World | STUPiD | 阅微草堂 | ShelleX | 流浪五天