Python3.7 - Argparse模块讲解

作者: 冰糖羊肉串 | 来源:发表于2019-01-04 19:05 被阅读126次
其实,研究了好久才研究明白这个东东,所以先过来记录下,免得以后忘记了又不知道去哪里哭.... T^T

首先呢,argparse是一个\color{red}{命令行参数解析}模块!
也就是说呢,它要运行在命令行下,嗯,就是命令行窗口这个页面。
image.png
来,接下来做个小测试
首先,新建一个文件,命名为Test.py,然后敲入如下代码....
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
接下来,我们到这个项目的目录下运行下面的命令
python Test.py --help
然后命令行会打印下面的结果!
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,结果在这里~
image.png
首先第一条命令,反馈给我们了一个错误信息(error: the following arguments are required: echo)告诉我们缺少一个叫做\color{red}{“echo”}的参数。显然这个参数就是我们刚刚在代码中创建的那个~
接下里,我们来看第二条命令,我们\color{red}{help}了这个文件(相当于我们在问“哎呀,这个文件我要怎么用呀”,然后程序一本正经的回答“嗯,你需要给我一个叫做echo的参数”)
知道了怎么使用了,接下来就是正确的使用\color{red}{Test.py}这个文件啦。于是我们有了第三个命令,第三个命令中,\color{red}{“Wow!”}就是我们想要传给程序的参数。回看代码,我们使用了\color{red}{“print(args.echo)”}命令来打印\color{red}{echo}的信息,所以最后程序也对我们喊\color{red}{“Wow!”}

接下来我们就可以为所欲为了A.A,调整各种参数看看会有什么神奇的现象发生诶~
首先,我们可以为Test.py这个脚本文件创建一些描述信息。
parser = argparse.ArgumentParser()
parser.description='叫我出来干嘛!'
当输入\color{red}{‘--help’}时就会跳出来啦
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)
\color{red}{注意!!!}:程序中使用了\color{red}{'type=int'}来接收数字
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)
不过这次由于有些参数不确定是否输入,所以在输入参数的时候我们需要告诉程序我们想要对哪个参数赋值~
image.png
每次都要输入\color{red}{--ParA}或者\color{red}{--ParB}好累啊有木有.... 好懒的 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)
现在,我们就可以用\color{red}{-a}或者\color{red}{-b}输入参数啦~似乎也没有轻松多少....都是骗人的T^T
image.png
emmm.... 接下来.... 没有了... 因为懒.... 更多资料可以戳这里呀!!!,官方指南,值得拥有.... 溜了溜了
image.png

相关文章

  • Python3.7 - Argparse模块讲解

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

  • Python: import argparse模块

    什么是argparse模块? argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,通...

  • python Argparse模块的使用

    python Argparse模块的使用 标签:python 参考: Argparse Tutorial:http...

  • python argparse 用法总结

    import argparse:首先导入模块 parser = argparse.ArgumentParser(d...

  • python 第八节

    一、标准库Argparse模块 Argparse 是一个 python 模块,借助该模块,我们可以轻松地为命令行参...

  • Python的Argparse模块使用方法

    Python之Argparse模块 argparse模块可以轻松编写用户友好的命令行接口。程序定义它需要的参数,然...

  • argparse模块

    argparse库是用来管理命令行参数 参考资料:argparse模块官方文档

  • Python完成知乎专栏文章转TXT

    开发工具 Python版本:3.6.4 相关模块: pdfkit模块; argparse模块; requests模...

  • argparse模块

    argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块 使用步骤...

  • argparse模块

    这个模块可以帮助我们解析参数并做一些处理,例如通过命令行传入并解析一些可选参数,就像这样 为了实现这些,首先导入模...

网友评论

    本文标题:Python3.7 - Argparse模块讲解

    本文链接:https://www.haomeiwen.com/subject/izukrqtx.html