Python传参-Argparse模块练习

Python传参-Argparse模块练习

参考链接:

Python3.7 - Argparse模块讲解
上面的写的很好!

最简demo实现:

在Test.py中写入下面代码:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo")
args = parser.parse_args()
print(args.echo)

分别在终端输入下面三行命令:

python Test.py
python Test.py --help
python Test.py Wow!

在这里插入图片描述

基本上可以看出,这里没有办法指定参数名称,只能随便输入一个值进去,进去了,就被echo这个变量接住了。

指定变量:

import argparse
parser = argparse.ArgumentParser()
parser.description='喂我两个数字,我就吐出他们的积'
parser.add_argument("ParA", help="我是A",type=int)
parser.add_argument("ParB", help="我是B",type=int)
args = parser.parse_args()
print('嗯,好吃!积是',args.ParA*args.ParB)

程序中使用了type=int来接收数字,即拿到的参数值,直接被转化为int类型,而不是默认的str类型。输入其他类型的,会报错!
在这里插入图片描述

接下来就是加默认值了

import argparse
parser = argparse.ArgumentParser()
parser.description='喂我两个数字,我就吐出他们的积'
parser.add_argument("-a", "--ParA", default=4, help="我是A",type=int)
parser.add_argument("-b", "--ParB", default=3, help="我是B",type=int)

args = parser.parse_args()
if args.ParA:
    print("我只吃到了A,它是",args.ParA)
if args.ParB:
    print("我只吃到了B,它是",args.ParB)
if args.ParA and args.ParB:
    print("啊,两个都吃到啦!积是",args.ParA*args.ParB)

就可以不输入值了。
直接执行:

> python argparse_dome.py
我只吃到了A,它是 4
我只吃到了B,它是 3
啊,两个都吃到啦!积是 12

或者:

> python argparse_dome.py -a=2 -b=4
我只吃到了A,它是 2
我只吃到了B,它是 4
啊,两个都吃到啦!积是 8

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hehedadaq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值