python处理命令行参数(getopt库的简单使用)

本文深入讲解了Python中getopt模块的使用方法,包括其函数原型、参数解析及常见用例。getopt模块用于处理命令行参数,通过实例演示了如何定义和解析短格式和长格式的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介
python中的getopt模块是专门用来处理参数的。使用前需要先导入sys、getopt。
二、函数原型
getopt(args, shortopts, longopts = [])
参数args一般是getopt(sys.argv[1:],shortopts 短格式 (-), longopts 长格式(--))
三、使用简介
eg:
opts,args = getopt.getopt(sys.argv[1:],"hp:i:",['help','port=',"ip="])
opt : 是个包含元祖的列表,每个元祖是分析出来的格式信息,比如 [('-i','127.0.0.1'),('-p','80')] ;
args : 是个列表,包含那些没有‘-’或‘--’的参数,比如:['55','66']
h 后面没有冒号:表示后面不带参数
p:和 i:后面有冒号表示后面需要参数
注意::定义命令行参数时,要先定义不带'-'选项的参数,再定义带‘-’的参数
四、程序

import getopt
import sys
def usage():
    print '-h help\n'
    print '-i ip \n'
    print '-p port \n'
def main():
    if not len(sys.argv[1:]): #if len()=null  run usage()
        usage()
    try:
        opts,args = getopt.getopt(sys.argv[1:],"hp:i:",['help','port=',"ip="])
        for name, value in opts:
            if name in ("-h", "--help"):
                usage()
            elif name in ("-i", "--ip"):
                print value
            elif name in ("-p", "--port"):
                print value
    except getopt.GetoptError as err:
        print err
        usage()
if __name__ == '__main__':
    main()

转载于:https://blog.51cto.com/12263326/2333569

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值