Python 命令行模块 argparse用法总结

        在看一份代码时遇到了argparse这个模块,在此记录它的用法。argparse是python的一个命令行解析包,可以十分方便的对python文件进行命令行读写。换句话说,利用argparse模块,我们可以在py文件外部对程序中的变量进行赋值(比如某文件路径的输入)。

        没有用过linux的同学可能没接触过命令行,在这里我用windows的cmd执行代码。

1.添加一个位置参数

import argparse
parser = argparse.ArgumentParser()		#这句不要忘了
parser.add_argument("echo")
args = parser.parse_args()
print('参数echo的值是{}'.format(args.echo))

在cmd中执行代码

python test.py 'hello'

执行结果

参数echo的值是hello

        首先,通过parser.add_argument("echo")添加一个命令行参数,存储在名为'echo'的变量里面

然后通过parser.parse_args()方法实例化一个名为args的对象,通过对args取值获取命令行信息

2.为位置参数添加说明

添加位置参数的代码修改如下:

parser.add_argument("echo",help="我是关于echo的说明")

在cmd中执行代码

python test.py -h

执行结果

positional arguments:
  echo        我是echo的说明

可见,-h的执行结果中,打印出了位置参数echo添加的说明

3.指定参数类型

代码如下:

import argparse
parser = argparse.ArgumentParser()		#这句不要忘了
parser.add_argument("echo")
args = parser.parse_args()
print(args.square**2)

在cmd中执行代码

python test.py 100

执行结果

10000

这里的代码制定了一个类型为int的位置参数square

若不指定类型,argparse会将参数默认作为字符串存储

4.指定可选参数

先看代码:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--verbosity")
args = parser.parse_args()
print('可选参数verbosity的值是{}'.format(args.verbosity))

在参数前加上前缀--,意味着这是个可选参数,可选参数与位置参数有两点不同:

1.可选参数可以不指定,比如说可执行代码代码

python test.py

则执行结果为

可选参数verbosity的值是None

注意此时可选参数的值是None

2.可选参数使用时,需要先声明该参数再指定其值,示例如下

python test.py --verbosity 100

则执行结果为

可选参数verbosity的值是100

5.设置参数的默认值

添加位置参数的代码修改如下:

  parser.add_argument("--verbosity", default=0)

若cmd中不输入可选参数verbosity的值,则其默认值为0.否则更新为输入的值

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值