头图

不知道大家有没有发现,最近给大家分享的Python项目的使用文档用的都是Python内置的argparse模块。

今天给大家分享下该模块的使用。

图片

大家在使用命令的时候,一般都会用-h查看命令帮助文档。

如:用rm -h查看如何删除文件

图片

rm -h

再比如,用pip -h查看如何安装Python

图片

pip -h

可以发现,这俩命令的帮助文档在格式上有些相似,这说明命令行的帮助文档都遵循一定的套路。

图片

只要有套路,肯定就有相应的模块方便我们使用。这里所说的模块就是文章开头提到的argparse

下面我来分享下argparse用法,给程序加上专业的说明文档。

首先,我们模仿pip命令,创建只包含一个必选参数的命令

import argparse

if __name__ == '__main__':
    parser = argparse.ArgumentParser()

    parser.add_argument('command', help='执行的命令,install,uninstall')

    args = parser.parse_args()

    if args.command == 'install':
        print('安装python包')

上面代码只有一个必须参数command,用-h查看帮助文档

python my_pip.py -h

图片

模块会帮助我们自动生成帮助文档。

上述代码中,我们只实现了install命令,我们可以执行一下,看看效果

python my_pip.py install

图片

除了必选参数,我们还可以在parser中增加可选参数。

import argparse

if __name__ == '__main__':
    parser = argparse.ArgumentParser()

    parser.add_argument('command', help='执行的命令,install,uninstall')
    parser.add_argument('-i', default='https://pypi.org/simple', help='安装包镜像')
    parser.add_argument('--timeout', default='60', help='设置超时时间')
    parser.add_argument('-V', '--version', action='version', help='查看版本', version='1.2.1')

    args = parser.parse_args()

    if args.command == 'install':
        print('安装python包')
        print(args.i)
        print(args.timeout)

可选参数以---开头。

如果add_argument函数里既有-参数也有--参数,说明它俩是等价的,如:-V--version都是用来查看版本。

-h参数再来看下帮助文档

python my_pip.py -h

图片

执行一下看看效果

python my_pip.py install -i xxx.com --timeout 3 

图片

执行install命令式,增加了两个可选参数-i--version,用来指定安装包地址和网络超时时间。

这两个参数都有设置默认值,执行命令时如果不加该参数,会使用默认值。

python my_pip.py install  

图片

最后,-V--version用来查看当前程序的版本,add_argument中指定了action参数,表明使用该参数后执行的动作是查看版本。参数version=1.2.1就是要返回的版本值。

python my_pip.py --version
或
python my_pip.py -V

图片

action的取值除了有version外,还有其他取值,含义都比较简单,大家可以去官网查阅。

add_argument函数还有一个比较常见的参数是type,用来指定参数的数据类型。

有了argparse模块可以帮我们快速创建程序帮助文档,使用起来非常简单,后续大家写程序就可以直接用起来啦。

以上就是本次分享的所有内容,如果你觉得文章还不错,欢迎关注公众号:Python编程学习圈,每日干货分享,发送“J”还可领取大量学习资料。或是前往编程学习网,了解更多编程技术知识。


Python技术大本营
46 声望17 粉丝

关注公粽号:Python编程学习圈,可免费领取最新Python技术资料包。