python3.7怎么用_Python3.7 - Argparse模块讲解

其实,研究了好久才研究明白这个东东,所以先过来记录下,免得以后忘记了又不知道去哪里哭.... T^T

首先呢,argparse是一个

math?formula=%5Ccolor%7Bred%7D%7B%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A7%A3%E6%9E%90%7D模块!

也就是说呢,它要运行在命令行下,嗯,就是命令行窗口这个页面。

00425f6c0936?utm_campaign=shakespeare

image.png

来,接下来做个小测试

首先,新建一个文件,命名为Test.py,然后敲入如下代码....

import argparse

parser = argparse.ArgumentParser()

parser.parse_args()

接下来,我们到这个项目的目录下运行下面的命令

python Test.py --help

然后命令行会打印下面的结果!

00425f6c0936?utm_campaign=shakespeare

image.png

这个时候,程序已经能够给我们一定的反馈啦~~~ (-h这个参数表示帮助信息, 现在由于我们还没有做进一步的工作,所以它只有-h这一个命令啦~)

现在,让我们添加一个参数吧~ 修改代码至下面这个样子

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!

biu,结果在这里~

00425f6c0936?utm_campaign=shakespeare

image.png

首先第一条命令,反馈给我们了一个错误信息(error: the following arguments are required: echo)告诉我们缺少一个叫做

math?formula=%5Ccolor%7Bred%7D%7B%E2%80%9Cecho%E2%80%9D%7D的参数。显然这个参数就是我们刚刚在代码中创建的那个~

接下里,我们来看第二条命令,我们

math?formula=%5Ccolor%7Bred%7D%7Bhelp%7D了这个文件(相当于我们在问“哎呀,这个文件我要怎么用呀”,然后程序一本正经的回答“嗯,你需要给我一个叫做echo的参数”)

知道了怎么使用了,接下来就是正确的使用

math?formula=%5Ccolor%7Bred%7D%7BTest.py%7D这个文件啦。于是我们有了第三个命令,第三个命令中,

math?formula=%5Ccolor%7Bred%7D%7B%E2%80%9CWow%EF%BC%81%E2%80%9D%7D就是我们想要传给程序的参数。回看代码,我们使用了

math?formula=%5Ccolor%7Bred%7D%7B%E2%80%9Cprint(args.echo)%E2%80%9D%7D命令来打印

math?formula=%5Ccolor%7Bred%7D%7Becho%7D的信息,所以最后程序也对我们喊

math?formula=%5Ccolor%7Bred%7D%7B%E2%80%9CWow%EF%BC%81%E2%80%9D%7D

接下来我们就可以为所欲为了A.A,调整各种参数看看会有什么神奇的现象发生诶~

首先,我们可以为Test.py这个脚本文件创建一些描述信息。

parser = argparse.ArgumentParser()

parser.description='叫我出来干嘛!'

当输入

math?formula=%5Ccolor%7Bred%7D%7B%E2%80%98--help%E2%80%99%7D时就会跳出来啦

00425f6c0936?utm_campaign=shakespeare

image.png

或者输入两个数字计算他们的乘积

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)

math?formula=%5Ccolor%7Bred%7D%7B%E6%B3%A8%E6%84%8F%EF%BC%81%EF%BC%81%EF%BC%81%7D:程序中使用了

math?formula=%5Ccolor%7Bred%7D%7B'type%3Dint'%7D来接收数字

00425f6c0936?utm_campaign=shakespeare

image.png

如果我们不想输入某些参数怎么办呀?

简单!直接在他们名字前添加--就好啦~ 我们对刚刚的程序做个小修改

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()

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)

不过这次由于有些参数不确定是否输入,所以在输入参数的时候我们需要告诉程序我们想要对哪个参数赋值~

00425f6c0936?utm_campaign=shakespeare

image.png

每次都要输入

math?formula=%5Ccolor%7Bred%7D%7B--ParA%7D或者

math?formula=%5Ccolor%7Bred%7D%7B--ParB%7D好累啊有木有.... 好懒的 T^T,所以我们再做些修改吧,尽可能的偷个懒=-=

import argparse

parser = argparse.ArgumentParser()

parser.description='喂我两个数字,我就吐出他们的积'

parser.add_argument("-a","--ParA", help="我是A",type=int)

parser.add_argument("-b","--ParB", 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)

现在,我们就可以用

math?formula=%5Ccolor%7Bred%7D%7B-a%7D或者

math?formula=%5Ccolor%7Bred%7D%7B-b%7D输入参数啦~似乎也没有轻松多少....都是骗人的T^T

00425f6c0936?utm_campaign=shakespeare

image.png

emmm.... 接下来.... 没有了... 因为懒.... 更多资料可以戳这里呀!!!,官方指南,值得拥有.... 溜了溜了

00425f6c0936?utm_campaign=shakespeare

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值