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

运行结果如下:

我们加入必须参数

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

加入位置参数

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

参数可选项和默认项

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

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值