不知道大家有没有发现,最近给大家分享的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编程学习圈,每日干货分享,内容覆盖Python电子书、教程、数据库编程、Django,爬虫,云计算等等。或是前往编程学习网,了解更多编程技术知识。