python getopt argparse_python 参数模块 getopt 与 argparse

在写python时经常有两种参数引入模块。

1.getopt 模块

个人经常使用的这个模块,方便简洁,跟 sys 模块配合使用

import sys,getopt

oprts,args = getopt.getopt(sys.argv[1:],'h:o,i:',['input=','output=','help',''])

# 短参数 -h,-o,-i ,长参数 --input= , --output=, ...

#oprts 就有一项 [('-h',参数1),('--input':xxx),('--output',xxx)] 以数组形式体现

for option,value in oprts:

if option == "-h":

xxx #短参数记录

if option == "--input":

xxx #长参数记录

2.argparse 模块

import argparse

parser = argparse.ArgumentParser(description = "your script description") #第一步,description 可以为空

parser.add_argument("--mode","-m",action = "store_true",help = "mode true") #添加 --mode 标签,别名 -m ,action 表示一出现即代表 True,help 为参数描述

args = parser.parse_args() #将变量以标签-值的字典形式存入args字典

print args.mode将变量以标签-值的字典形式存入args字典

print args.mode

运行结果如下:

eaeabc59c7ba1ad763534e6e2e9c27d3.png

29df6e7cec72005568c19f593f58215b.png

07063d2770c26eb61d26f2b904e39c9c.png

我们加入必须参数

import argparse

parser = argparse.ArgumentParser()

parser.add_argument("--mode","-m",action = "store_true",help = "mode true")

#添加必要参数

parser.add_argument("--verbose","-v",required = True,type = int,help = "must exists") #required = True 表示必须参数

args = parser.parse_args()

print args.mode

print args.verbose

ae78b10682b63320c68a6d7c18b56f51.png

86ebf51e77c9c46b174bcd8dfc609e65.png

25e2546cc5f107ee32833c804e099815.png

c89fddadca765b2b7c8eab5733fd0904.png

加入位置参数

import argparse

parser = argparse.ArgumentParser()

parser.add_argument("--mode","-m",action = "store_true",help = "mode true")

parser.add_argument("--verbose","-v",required = True, type = int ,help = "must exists")

#加入位置参数,没有 -- 或者 -

parser.add_argument("filename")

args = parser.parse_args()

print args.mode

print args.verbose

print args.filename

dfe60ad6bc92e5db80d838b73e760696.png

参数可选项和默认项

parser.add_argument("arg_name",default = 1,type = int,choices = [0,1]) #default 默认值,choices 可选项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值