首页 > 编程语言 > 详细

python命令行工具的使用——argparse

时间:2020-02-25 13:46:04      阅读:93      评论:0      收藏:0      [点我收藏+]

argparse是一个常用的库函数,使用它的时候我们在命令行中不仅仅可以运行python文件,更可以零时调整参数,十分方便。

首先,如果你只是希望传一丢丢数据进去,那么只看下面两行就行了

import sys
print("输入的参数为:%s" % sys.argv[1])
>python demo.py 1
输入的参数为:1

但是当要传很多的时候,还是接着往下看

基本用法,这是核心的两行:

parser = argparse.ArgumentParser()
parser.parse_args()

然后是可以添加的部分

 
# description参数可以用于描述脚本的参数作用,默认为空
parser=argparse.ArgumentParser(description="A description of what the program does")

parser.add_argument("echo")        # 默认参数的设定
parser.add_argument("-v", "--verbosity", help="increase output verbosity")  #可选参数

parser.parse_args()

 

default:没有设置值情况下的默认参数

parser.add_argument(--name, default=Great)

required: 表示这个参数是否一定需要设置

  如果设置了required=True,则在实际运行的时候不设置该参数将报错 

 

parser.add_argument(-name, required=True)

 

type:参数类型

  默认的参数类型是str类型,如果你的程序需要一个整数或者布尔型参数,你需要设置type=inttype=bool

parser.add_argument(-number, type=int)

choices:参数值只能从几个选项里面选择

parser.add_argument(-arch, required=True, choices=[alexnet, vgg])

 

help:指定参数的说明信息

parser.add_argument(-arch, required=True, choices=[alexnet, vgg],
        help=the architecture of CNN, at this time we only support alexnet and vgg.)

 

dest:设置参数在代码中的变量名

  argparse默认的变量名是---后面的字符串,但是你也可以通过dest=xxx来设置参数的变量名,然后在代码中用args.xxx来获取参数的值

nargs: 设置参数在使用可以提供的个数

parser.add_argument(-name, nargs=x)

x的候选值和含义如下

N   参数的绝对个数(例如:3)
‘?‘ 0或1个参数
‘*‘ 0或所有参数
‘+‘ 所有,并且至少一个参数

 

--toy:为参数名称
-t:为参数别称
action=‘store_true‘:参数是否使用,如果使用则为True,否则为False

parser.add_argument(--toy,-t,action=store_true,help=Use only 50K samples of data)

 

 

 

 

 

那么在py文件中如何调用呢?       parser.parse_args()

#命令行输入参数处理
parser = argparse.ArgumentParser()

parser.add_argument(file)     #输入文件
parser.add_argument(-o, --output)   #输出文件
parser.add_argument(--width, type = int, default = 80) #输出宽
parser.add_argument(--height, type = int, default = 80) #输出高

#获取参数
args = parser.parse_args()

IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output

 

python命令行工具的使用——argparse

原文:https://www.cnblogs.com/xingnie/p/12360591.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!