from optparse import OptionParser
from optparse import OptionGroup
import sys
if __name__ == "__main__":
parser = OptionParser(usage="My Parser")
group = OptionGroup(parser, "Dangerous Options",
"Caution: use these options at your own risk. "
"It is believed that some of them bite.")
group.add_option("-g", action="store_true", help="Group option.")
parser.add_option_group(group)
group = OptionGroup(parser, "Debug Options")
group.add_option("-d", "--debug", action="store_true",
help="Print debug information")
group.add_option("-s", "--sql",
help="Print all SQL statements executed")
group.add_option("-e", action="store_true", help="Print every action done")
parser.add_option_group(group)
options, args = parser.parse_args(sys.argv[1:])
print options
print args
print options.g
print options.debug
print options.sql
Python 有两个内建的模块用于处理命令行参数:
一个是 getopt,getopt只能简单处理 命令行参数。
另一个是 optparse,是一个能够让程式设计人员轻松设计出简单明了、易于使用、符合标准的Unix命令列程式的Python模块。生成使用和帮助信息。
如果程序有很多的命令行参数,你可能想为他们进行分组,这时可以使用 OptionGroup:
parse_args() 方法提供了一个 default 参数用于设置默认值。如:
parser.add_option("-v", action="store_true", dest="verbose")
parser.add_option("-q", action="store_false", dest="verbose", default=True)
http://blog.51cto.com/wolfchen/1230061