橡皮擦,一个逗趣的互联网高级网虫。
本篇博客将为你带来 10 个 Python 中的参数解析库,Python 自带的这些【模块军火库】,一定要了解,毕竟多掌握一个库,你解决问题的时候就多了一条路。
何为参数解析库
在对 Python 一段小脚本运行的时候,通过 python test.py 参数1 参数2 参数3
形式,可以向 Python 脚本内部传递参数,用于解析参数的库就是参数解析库。
sys.argv
最传统的写法,也是 Python 内置的内容,例如下述代码:
import sys
print(sys.argv)
当你通过下述命令运行 Python 脚本时,就可以获取到一个 list
类型的参数列表。
python test.py 1 2 3
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,也证明了大家对其的认可。
本篇博客并未对所有的库进行展开说明,毕竟掌握一个库,已经是基于该库可以解决你的问题。
相关阅读
今天是持续写作的第 121 / 200 天。
如果你想跟博主建立亲密关系,可以关注同名公众号 梦想橡皮擦,近距离接触一个逗趣的互联网高级网虫。
博主 ID:梦想橡皮擦,希望大家点赞、评论、收藏。
转载:https://blog.csdn.net/hihell/article/details/115268044