python获取命令行参数实例方法讲解

 更新时间:2020年11月02日 08:30:02   作者:PYCN  
在本篇文章里小编给大家整理的是一篇关于python获取命令行参数实例方法讲解内容,有兴趣的朋友们可以学习下。

Python 在命令行解析方面给出了类似的几个选择:自己解析, 自给自足(batteries-included)的方式,以及大量的第三方方式

自己解析

你可以从 sys 模块中获取程序的参数。

import sys
 
if __name__ == '__main__':
   for value in sys.argv:
       print(value)

自给自足

在 Python 标准库中已经有几个参数解析模块的实现: getopt 、 optparse ,以及最近的 argparse 。argparse 允许程序员为用户提供一致的、有帮助的用户体验,但就像它的 GNU 前辈一样,它需要程序员做大量的工作和“ 模板代码 ”才能使它“奏效”。

from argparse import ArgumentParser
 
if __name__ == "__main__":
 
   argparser = ArgumentParser(description='My Cool Program')
   argparser.add_argument("--foo", "-f", help="A user supplied foo")
   argparser.add_argument("--bar", "-b", help="A user supplied bar")
   
   results = argparser.parse_args()
   print(results.foo, results.bar)

CLI 的现代方法

Click 框架使用 装饰器 的方式来构建命令行解析。

import click
 
@click.command()
@click.option("-f", "--foo", default="foo", help="User supplied foo.")
@click.option("-b", "--bar", default="bar", help="User supplied bar.")
def echo(foo, bar):
    """My Cool Program
   
    It does stuff. Here is the documentation for it.
    """
    print(foo, bar)
   
if __name__ == "__main__":
echo()

在 Click 接口中添加参数就像在堆栈中添加另一个装饰符并将新的参数添加到函数定义中一样简单。

知识拓展:

Typer 建立在 Click 之上,是一个更新的 CLI 框架,它结合了 Click 的功能和现代 Python 类型提示 。使用 Click 的缺点之一是必须在函数中添加一堆装饰符。CLI 参数必须在两个地方指定:装饰符和函数参数列表。Typer 免去你造轮子 去写 CLI 规范,让代码更容易阅读和维护。

import typer
 
cli = typer.Typer()
 
@cli.command()
def echo(foo: str = "foo", bar: str = "bar"):
    """My Cool Program
   
    It does stuff. Here is the documentation for it.
    """
    print(foo, bar)
   
if __name__ == "__main__":
cli()

 

到此这篇关于python获取命令行参数实例方法讲解的文章就介绍到这了,更多相关python获取命令行参数实现方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决

    不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决

    这篇文章主要给大家介绍了关于不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • python连接池pooledDB源码阅读参数的使用

    python连接池pooledDB源码阅读参数的使用

    这篇文章主要介绍了python连接池pooledDB源码阅读参数的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Python自动化办公之Word文档的创建与生成

    Python自动化办公之Word文档的创建与生成

    这篇文章主要为大家详细介绍了如何通过python脚本来自动生成一个 word文档,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-05-05
  • pycharm将英文设置为中文的详细教程

    pycharm将英文设置为中文的详细教程

    使用过很多的IDLE程序,这其中最大的问题就是英文版本,初次使用不习惯和英文基础不好,下面这篇文章主要给大家介绍了关于pycharm将英文设置为中文的详细教程,需要的朋友可以参考下
    2023-05-05
  • Python基于LightGBM进行时间序列预测

    Python基于LightGBM进行时间序列预测

    LightGBM是扩展机器学习系统。是一款基于GBDT(梯度提升决策树)算法的分布梯度提升框架。其设计思路主要集中在减少数据对内存与计算性能的使用上,以及减少多机器并行计算时的通讯代价。本文将通过LightGBM进行时间序列预测,感兴趣的可以了解一下
    2022-03-03
  • Python数据库安装及MySQL Connector应用教程

    Python数据库安装及MySQL Connector应用教程

    这篇文章主要为大家介绍了Python数据库安装及MySQL Connector应用教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 一款强大的端到端测试工具Playwright介绍

    一款强大的端到端测试工具Playwright介绍

    这篇文章主要为大家介绍了一款强大的端到端测试工具Playwright介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 简单了解Django模板的使用

    简单了解Django模板的使用

    这篇文章主要介绍了简单了解Django模板的使用,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • 使用python进行雷电接口检测

    使用python进行雷电接口检测

    这篇文章主要为大家详细介绍了如何使用python进行雷电接口检测,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-01-01
  • python批量解压zip文件的方法

    python批量解压zip文件的方法

    这篇文章主要介绍了python批量解压zip文件的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08

最新评论