首页 / 操作系统 / Linux / Python getopt模块处理命令行选项实例教程
分享下Python getopt模块处理命令行选项的一些例子。在python编程中,getopt模块与shell中的getopt参数模块一样灵活而实用。getopt模块用于抽出命令行选项和参数,也就是sys.argv命令行选项使得程序的参数更加灵活。支持短选项模式和长选项模式例如python scriptname.py -f "hello" --directory-prefix=/home -t --format "a" "b"import getopt, sys
shortargs = "f:t"
longargs = ["directory-prefix=", "format"]
opts, args = getopt.getopt( sys.argv[1:], shortargs, longargs )getopt.getopt ( [命令行参数列表], "短选项", [长选项列表] )短选项名后的冒号 : 表示该选项必须有附加的参数
长选项名后的等号 = 表示该选项必须有附加的参数
返回 opts 和 args
opts 是一个参数选项及其value的元组 ( ( "-f", "hello"), ( "-t", "" ), ( "--format", "" ), ( "--directory-prefix", "/home" ) )
args 是一个除去有用参数外其他的命令行输入 ( "a", "b" )# 然后遍历 opts 便可以获取所有的命令行选项及其对应参数了
for opt, val in opts:
if opt in ( "-f", "--format" ):
pass
if ....使用字典接受命令行的输入,然后再传送字典,可以使得命令行参数的接口更加健壮# 两个来自 python2.5 Documentation 的例子
# www.linuxidc.com
>>> import getopt, sys
>>> arg = "-a -b -c foo -d bar a1 a2"
>>> optlist, args = getopt.getopt( sys.argv[1:], "abc:d:" )
>>> optlist
[("-a", ""), ("-b", ""), ("-c", "foo"), ("-d", "bar")]
>>> args
["a1", "a2"]
>>> arg = "--condition=foo --testing --output-file abc.def -x a1 a2"
>>> optlist, args = getopt.getopt( sys.argv[1:], "x", ["condition=", "output-file=", "testing"] )
>>> optlist
[ ("--condition", "foo"), ("--testing", ""), ("--output-file", "abc.def"), ("-x","") ]
>>> args
["a1", "a2"]《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htmPython脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm在Ubuntu下用Python搭建桌面算法交易研究环境 http://www.linuxidc.com/Linux/2013-11/92534.htmPython 语言的发展简史 http://www.linuxidc.com/Linux/2014-09/107206.htmPython 的详细介绍:请点这里
Python 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-01/111135.htm