parser = OptionParser() parser.add_option("-f", "--file", dest="filename", help="write report to FILE", metavar="FILE") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", default=True, help="don't print status messages to stdout") parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=True, help="make lots of noise [default]") (options, args) = parser.parse_args()
print(options) print(args) 运行结果: {'filename': None, 'verbose': True} []
从命令行传入参数:
用法说明:
optParser.parse_args() 剖析并返回一个字典(options)和列表(args);
字典中的关键字是我们所有的add_option()函数中的dest参数值,而对应的value值,是add_option()函数中的default的参数或者是由用户传入optParser.parse_args()的参数;
args,它是一个由 positional arguments 组成的列表。
action指示 optparse 当解析到一个命令行参数时该如何处理。默认store,介绍以下三种常用的
1.store:表示命令行参数的值保存在options对象中。如果我们对optParser.parse_args()函数传入的参数列表中带有‘-f’,那么就会将列表中‘-f’的下一个元素作为其dest的实参filename的值,他们两个参数形成一个字典中的一个元素{filename:out_file}。相反当我们的参数列表中没有‘-f’这个元素时,那么filename的值就会为空。
(2和3用于处理带命令行参数后面不带值的情况)
2.store_false 传入命令行参数中存在'-q' verbose将会返回False
3.store_true 传入命令行参数中存在'-v' verbose将会返回True
参考:https://blog.csdn.net/m0_37717595/article/details/80603884