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获取命令行参数实现方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pytorch查看torch.Tensor和model是否在CUDA上的实例

    pytorch查看torch.Tensor和model是否在CUDA上的实例

    今天小编就为大家分享一篇pytorch查看torch.Tensor和model是否在CUDA上的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python实现回旋矩阵方式(旋转矩阵)

    python实现回旋矩阵方式(旋转矩阵)

    今天小编就为大家分享一篇python实现回旋矩阵方式(旋转矩阵),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python企业编码生成系统之系统主要函数设计详解

    Python企业编码生成系统之系统主要函数设计详解

    这篇文章主要介绍了Python企业编码生成系统之系统主要函数设计,涉及目录操作、文件读写、验证判断、编码输出等功能实现技巧,需要的朋友可以参考下
    2019-07-07
  • Python中字符串操作技巧

    Python中字符串操作技巧

    在编程中,字符串操作是一项基本技能,常见的操作包括大小写转换、字符串替换、倒序、统计、切片、切割、清理和对齐等,查找方法如find()、rfind()、index()和rindex()用于定位子串,字符串可以通过"+"号或join()方法拼接,去重技巧等,都是常见的字符串处理需求
    2024-10-10
  • OpenCV Python身份证信息识别过程详解

    OpenCV Python身份证信息识别过程详解

    本篇文章使用OpenCV-Python和CnOcr来实现身份证信息识别的案例,本篇文章使用的Python版本为3.6,OpenCV-Python版本为3.4.1.15,如果是4.x版本的同学,可能会有一些Api操作不同,下面跟随小编看下OpenCV Python身份证信息识别过程
    2022-04-04
  • Python 的 with 语句详解

    Python 的 with 语句详解

    这篇文章主要介绍了Python 的 with 语句,本文详细讲解了with语句、with语句的历史、with语句的使用例子等,需要的朋友可以参考下
    2014-06-06
  • python http接口自动化脚本详解

    python http接口自动化脚本详解

    这篇文章主要为大家详细介绍了python http接口自动化脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Python使用eel模块创建GUI应用程序

    Python使用eel模块创建GUI应用程序

    在Python中,有许多库和模块可以用来创建图形用户界面(GUI)应用程序,其中一个流行的选择是使用eel模块,下面小编就来为大家详细介绍一下如何使用eel模块创建GUI应用程序吧
    2023-12-12
  • Python 使用 pip 安装 matplotlib 模块的方法

    Python 使用 pip 安装 matplotlib 模块的方法

    matplotlib是python中强大的画图模块,这篇文章主要介绍了Python 使用 pip 安装 matplotlib 模块(秒解版),本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • Python实现自动化处理每月考勤缺卡数据

    Python实现自动化处理每月考勤缺卡数据

    不管是上学还是上班都会统计考勤,有些学校或公司会对每月缺卡次数过多(比如三次以上)的人员进行处罚。本文提供了Python自动处理考勤和日志缺失的方法,需要的可以参考一下
    2022-06-06

最新评论