小言_互联网的博客

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

418人阅读  评论(0)

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

本篇博客将为你带来 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,也证明了大家对其的认可。


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

相关阅读

  1. Python 爬虫 100 例教程,超棒的爬虫教程,立即订阅吧
  2. Python 游戏世界(更新中,目标文章数 50+,现在订阅,都是老粉)
  3. Python 爬虫小课,精彩 9 讲

今天是持续写作的第 121 / 200 天。
如果你想跟博主建立亲密关系,可以关注同名公众号 梦想橡皮擦,近距离接触一个逗趣的互联网高级网虫。
博主 ID:梦想橡皮擦,希望大家点赞评论收藏


转载:https://blog.csdn.net/hihell/article/details/115268044
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场