使用os.argv进行命令行参数处理

#! /usr/bin/env python
#coding=utf-8
#本程序读取指定文件,利用sys模块来简单处理命令行参数
#本程序参考   简明Python教程
import sys 
reload(sys)
sys.setdefaultencoding('utf-8')
#定义文件处理函数
def file_read(filename):
    try:
        fp=open(filename,'r')
    except:
        print "输入文件路径不是有效文件路径"
        return
    line_count=0
    while True:
        line=fp.readline()
        if len(line)==0:
            break
        line_count=line_count+1
        print line
    fp.close()
    return line_count
#定义函数来打印帮助字符串
def print_help():
    print '''
    -h 或--help                      显示帮助信息
    -f filepath 或--file=filepath    指定读取文件
    -l                               可选参数。决定是否要打印文件行数
    '''
#参数的处理
if len(sys.argv)<2:
    print "请输入有效文件路径和其他可选参数。参数使用说明如下:"
    print_help()
    sys.exit()
if sys.argv[1].startswith('-'):
    a=sys.argv[1]
    if a[1]=='-':
        if a[2:]=="help":   #说明使用的是--help参数
            print_help()
        elif a[2:6]=="file": #说明使用--file参数
            filepath=a[7:]
            a=file_read(filepath)
            if sys.argv[2]=="-l":  #决定是否要打印行数
                print a
    elif a[1]=='h':
        print_help()
    elif a[1]=='f':
        filepath=sys.argv[2]
        a=file_read(filepath)
        if sys.argv[3]=='-l':
            print a
else:
     print "参数错误"
        


你可能感兴趣的:(使用os.argv进行命令行参数处理)