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

举报
梦想橡皮擦 发表于 2021/03/29 03:51:14 2021/03/29
【摘要】 橡皮擦,一个逗趣的互联网高级网虫。 本篇博客将为你带来 10 个 Python 中的参数解析库,Python 自带的这些【模块军火库】,一定要了解,毕竟多掌握一个库,你解决问题的时候就多了一条路。 文章目录 何为参数解析库sys.argvgetopt 内置的参数解析库docopt 参数解析库optparse 参数解析库argparse 参数解析库c...

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

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

何为参数解析库

在对 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

  
 
  • 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 到底有多少命令行参数解析库?
本篇博客并未对所有的库进行展开说明,毕竟掌握一个库,已经是基于该库可以解决你的问题。

相关阅读

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

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

文章来源: blog.csdn.net,作者:梦想橡皮擦,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/hihell/article/details/115268044

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。