当前位置:首页 » 《随便一记》 » 正文

多个库,多条路,Python 到底有多少命令行参数解析库?_橡皮擦,一个逗趣的互联网高级网虫

1 人参与  2021年03月30日 13:23  分类 : 《随便一记》  评论

点击全文阅读


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

本篇博客将为你带来 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)

当你通过下述命令运行 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,也证明了大家对其的认可。

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

相关阅读

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

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


点击全文阅读


本文链接:http://zhangshiyu.com/post/16384.html

参数  解析  命令行  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1