首页 > 代码库 > python---optparse模块

python---optparse模块

接上一篇日志,http://zidingyi.blog.51cto.com/10735263/1873566

首先来看一下,parse_args()返回的是什么?他返回了两个值一个是options,一个是args!

#!/usr/bin/env python
#coding:utf-8
#对标准输入进行统计
import sys, os
from optparse import OptionParser

def opt():
    usage = "usage: %prog [options] arg1 arg2"
    parser = OptionParser()
    parser.add_option("-c", "--char",
                    dest="chars",
                    action="store_true",
                    default=False,
                    help="only count chars")
    parser.add_option("-w", "--word",
                    dest="words",
                    action="store_true",
                    default=False,
                    help="only count words")
    parser.add_option("-l", "--line",
                    dest="lines",
                    action="store_true",
                    default=False,
                    help="only count lines")
    parser.add_option("-n", "--nototal",
                    dest="nototal",
                    action="store_true",
                    default=False,
                    help="nototal")
    options, args = parser.parse_args()

    return options, args     

opt()
print sys.argv[:]    //打印出脚本运行时的参数,注意和parse_args返回的参数做对比
options, args = opt()
print options, args    //打印出parse_args返回的args的值。

运行执行一下:

[root@slave socket]# python 1.py -l /etc/passwd
[‘1.py‘, ‘-l‘, ‘/etc/passwd‘]      //sys.argv返回的参数
{‘chars‘: False, ‘lines‘: True, ‘nototal‘: False, ‘words‘: False} [‘/etc/passwd‘]
//前面的字典返回的时options的值,后面中括号为返回的parse_args的参数值,特别注意这个值和sys模块返回的参数值不一样。


本文出自 “自定义” 博客,谢绝转载!

python---optparse模块