Python里的optparse

人生乱弹 2年前 (2024) admin
5 0

Python里的optparse是一个强大的命令行选项解析库
argument -- 参数
在命令行中输入的字符串,并会被 shell 传给 execl() 或 execv()
在 Python 中,参数将是 sys.argv[1:] 的元素
注:
  sys.argv[0] 是被执行的程序的名称

from optparse import OptionParser
#定义自己的用法消息
usage = "usage: %prog [options] arg1 arg2"
#开始定义选项,打印版本字符串
parser = OptionParser(usage="%prog [-f] [-q]", version="%prog 1.0")
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("-n", type="int", dest="num")

(options, args) = parser.parse_args()
if len(args) != 1:
parser.error("incorrect number of arguments")
print(options)
print(options.filename)
#由解析选项之后余下的位置参数组成的列表
print(args)

说明:
  options 一个包含你所有的选项的值的对象
  args 由解析选项之后余下的位置参数组成的列表
  add_option里的
    type:输入命令行参数的值的类型,默认为string,可以为string, int, choice, float,complex
    default:命令参数的默认值
    metavar:帮助文档中显示提示用户输入期望的命令参数
    dest:指定参数在options对象中成员的名称
    help:在帮助文档中显示的信息
1.执行 python test.py
输出
Usage: test.py [-f] [-q]
test.py: error: incorrect number of arguments
2.执行python test.py -h
输出
Usage: test.py [-f] [-q]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-f FILE, --file=FILE write report to FILE
-q, --quiet don't print status messages to stdout
-n NUM
3.执行python test.py aa
输出
{'filename': None, 'verbose': True, 'num': None}
None
['aa']
4.执行python test.py -n 3e
输出
Usage: test.py [-f] [-q]
test.py: error: option -n: invalid integer value: '3e'
5.执行python test.py -n 3 aa
输出
{'filename': None, 'verbose': True, 'num': 3}
None
['aa']
6.执行python test.py -f aa.txt -q aa
输出
{'filename': 'aa.txt', 'verbose': False, 'num': None}
aa.txt
['aa']
 

文章来源

版权声明:admin 发表于 2024年4月18日 pm9:18。
转载请注明:Python里的optparse | 银库

相关文章

本站主题由 OneNav 一为主题强力驱动