关于python:Python中这个模块高效写出专业的帮助文档

9次阅读

共计 1840 个字符,预计需要花费 5 分钟才能阅读完成。

不晓得大家有没有发现,最近给大家分享的 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”还可支付大量学习材料。或是返回编程学习网,理解更多编程技术常识。

正文完
 0