多个库,多条路,Python 到底有多少命令行参数解析库?

网友投稿 839 2022-05-30

橡皮擦,一个逗趣的互联网高级网虫。

本篇博客将为你带来 10 个 Python 中的参数解析库,Python 自带的这些【模块军火库】,一定要了解,毕竟多掌握一个库,你解决问题的时候就多了一条路。

文章目录

何为参数解析库

sys.argv

getopt 内置的参数解析库

docopt 参数解析库

optparse 参数解析库

argparse 参数解析库

click 参数解析库

fire 参数解析库

typer 参数解析库

Commando 参数解析库

FLAGS 参数解析库

写在后面

何为参数解析库

在对 Python 一段小脚本运行的时候,通过 python test.py 参数1 参数2 参数3 形式,可以向 Python 脚本内部传递参数,用于解析参数的库就是参数解析库。

sys.argv

最传统的写法,也是 Python 内置的内容,例如下述代码:

import sys print(sys.argv)

1

2

当你通过下述命令运行 Python 脚本时,就可以获取到一个 list 类型的参数列表。

python test.py 1 2 3

多个库,多条路,Python 到底有多少命令行参数解析库?

1

getopt 内置的参数解析库

对于 sys.argv 而言,得到的只是一个列表,通过 getopt 参数解析库,可以获取参数。

getopt 库中核心的函数是 getopt.getopt(),具体参数与使用方式,可以参见滚雪球系列这篇文章。

docopt 参数解析库

一个优雅的命令行模块,可以通过 https://github.com/docopt/docopt 进行学习与使用。

optparse 参数解析库

optparse 解析器的命令行选项,3.2 版后 optparse 模块已被弃用并不再继续开发;接力棒,转移到了 argparse 模块。

学习如何使用,可以参考:https://docs.python.org/zh-cn/3/library/optparse.html#module-optparse

argparse 参数解析库

通过 pip install argparse 对该库进行安装,使用方式也比较简单,官方对其的定义是,命令行选项、参数和子命令解析器。

学习如何使用,可以参考:https://docs.python.org/zh-cn/3/library/argparse.html

click 参数解析库

Click 是 Flask 的开发团队 Pallets 的一款开源项目,它是用于快速创建命令行的第三方模块。

官方地址与使用方式,参考 github:https://github.com/pallets/click

fire 参数解析库

fire 用于从任何 Python 对象自动生成命令行接口,只需对 Fire 进行一次调用,即可将任何 Python 组件转变为命令行界面。

该工具库是谷歌开源的。

开源地址:https://github.com/google/python-fire

typer 参数解析库

Typer 是一个用于构建 CLI 应用程序的库。

文档: https://typer.tiangolo.com

代码: https://github.com/tiangolo/typer

Commando 参数解析库

基于 argparse 的封装,允许使用装饰器的方式定义命令和参数。

开源地址:https://github.com/hyde/commando

FLAGS 参数解析库

如果你在做深度学习相关方向,尤其经常使用 Tensorflow,那 FLAGS 是一款必备的命令行工具。

该模块的使用需要基于 tensorflow 了,故放在最后一趴。

写在后面

这些优质的第三方库,橡皮擦给大家的推荐顺序是:fire-> click -> argparse -> **getopt **。

这两个项目在 github 上的超高 star,也证明了大家对其的认可。

本篇博客并未对所有的库进行展开说明,毕竟掌握一个库,已经是基于该库可以解决你的问题。

相关阅读

Python 爬虫 100 例教程,超棒的爬虫教程,立即订阅吧

Python 游戏世界(更新中,目标文章数 50+,现在订阅,都是老粉)

Python 爬虫小课,精彩 9 讲

今天是持续写作的第

121

/ 200 天。

如果你想跟博主建立亲密关系,可以关注同名公众号

梦想橡皮擦

,近距离接触一个逗趣的互联网高级网虫。

博主 ID:梦想橡皮擦,希望大家

评论

AI Python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:无须搭建环境,只需十分钟使用Google Colab平台,基于YOLOv4和Darknet来实现的物体检测
下一篇:Gson-更新中
相关文章