接上一篇日志,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的值。
运行执行一下:
[[email protected] 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模块返回的参数值不一样。
时间: 2024-10-15 13:50:13