当前位置:网站首页 > 技术博客 > 正文

python query函数



argparse库是 Python 标准库中用于解析命令行参数和选项的模块。它使得编写命令行界面(CLI)变得更加容易。,在深度学习中用到的比较多~~

我们运行Python文件往往是直接输入命令

python test.py

但是如果我们想给Python文件脚本运行时候传入参数,像是下面这种

python test.py 123 456 -config

该怎么做呢?就是要用到argparse库~

将argparse库的基础用法总结如下


在命令行运行 Python 文件时,可以向文件传递不同类型的参数。主要有以下几种类型的参数:

  1. 位置参数(Positional arguments):位置参数是指在命令行中按照特定顺序传递给程序的参数,它们不带任何前缀。例如,在命令行中运行 , 和 就是位置参数。
  2. 选项参数(Optional arguments):选项参数是可选的参数,它们通常以短横线()或双短横线()开头。选项参数可以有一个或多个值。例如, 或 是常见的用于显示帮助信息的选项参数。
  3. 标志参数(Flag arguments):标志参数是一种特殊的选项参数,它们不带值,只用于表示某个状态或开关是否打开。通常以短横线和单个字符表示,例如 表示 verbose 模式。
  4. 环境变量参数(Environment variable arguments):有时候,程序可能会从环境变量中读取参数值。这种方式不需要在命令行中显式传递参数,而是通过预先设置的环境变量来传递参数信息。

这些参数可以混合使用,例如 ,其中 是位置参数, 是标志参数, 是选项参数,表示输出到 文件中。

 
   

用ArgumentParser类实例化即可创建一个总的容器类parser

之后我们添加参数就是往这个parser里面添加

 
   

调用add_argument函数做参数的的添加

方法是 类的一个方法,用于向解析器添加一个新的参数。 方法有很多参数

2.3.1 name 添加参数名称

  • :参数的名称或者选项标志,可以是一个字符串(位置参数)或者一个列表(选项参数)。例如, 表示一个长选项, 表示一个短选项和一个长选项。

2.3.2 type 解析类型

  • :参数的类型,用于指定参数的值应该被解析成什么类型。例如, 表示整数, 表示浮点数,默认的话是字符型,这时候如果我们期望做数值运算,肯定得转换为整形或浮点型

2.3.3 参数默认值

  • :参数的默认值,如果用户没有提供该参数,则使用默认值。默认值可以是任何合法的 Python 值。

2.3.4 参数是否必须设置

  • :指定参数是否是必需的,默认为 。如果设置为 ,则用户必须提供该参数,否则会显示错误信息。

2.3.5 参数提示信息

  • :参数的帮助信息,用于描述参数的作用和用法。当用户使用 或 选项时,会显示帮助信息。

2.3.6 参数动作

  • :参数的动作,指定参数应该如何处理。常用的值包括 (存储参数值)、(如果存在该参数则存储 ,否则存储 )、(如果存在该参数则存储 ,否则存储 )等。

参数用于指定参数在解析时应该如何处理。它定义了当参数在命令行中出现时应该采取的动作。下面是一些常见的 参数值及其含义:

​ :默认行为,将参数的值存储起来。如果不指定 ,则默认为 。

​ :将一个常量值存储到参数中。通常与 参数一起使用。例如:

 
   

这会将 参数的值设置为 。

​ :将参数的值设置为 。通常用于标记某个选项是否存在。例如:

 
   

如果用户在命令行中使用了 ,则参数的值为 ,否则为 。

​ :将参数的值设置为 。与 类似,用于标记某个选项是否不存在。

​ :将参数值追加到列表中。通常与 一起使用,表示参数可以接受多个值,这些值将被追加到一个列表中。

​ :将一个常量值追加到列表中。通常与 参数一起使用。

​ :统计参数出现的次数。用于统计某个选项在命令行中出现的次数。

​ :显示帮助信息并退出。

2.3.7 参数可选值列表

  • :参数的可选值列表,用户只能从列表中选择一个值作为参数的值。如果用户提供的值不在列表中,则会显示错误信息。

通过使用 方法,可以灵活地定义各种不同类型的参数,并在命令行中解析这些参数,从而实现更加复杂的命令行界面。

2.3.8 参数个数

  • 参数用于指定一个参数应该接受的命令行参数数量。它可以取以下几种值:
    • :表示参数应该接受 N 个命令行参数。
    • :表示参数可以接受零个或一个命令行参数。如果没有提供命令行参数,则该参数的值为 。
    • :表示参数可以接受零个或多个命令行参数。命令行参数会被收集到一个列表中。
    • :表示参数可以接受一个或多个命令行参数。命令行参数会被收集到一个列表中。

例如,对于一个参数定义如下:

 
   

这表示 参数可以接受一个或多个命令行参数,这些参数会被收集到一个列表中。

另一个例子是:

 
   

这表示 参数可以接受零个或一个命令行参数。如果用户没有提供命令行参数,则参数的值将为 。

添加好后,我们进行解析

 
   

解析好后,我们就可以

直接通过来使用了

 
   
 
   

运行

python test.py 5 3

  • 上一篇: c++ office
  • 下一篇: client和customer有何区别?
  • 版权声明


    相关文章:

  • c++ office2025-06-21 13:30:03
  • flowable springboot2.02025-06-21 13:30:03
  • linux fb02025-06-21 13:30:03
  • 新建okr的过程中,我们的o可能来自2025-06-21 13:30:03
  • ftrl算法2025-06-21 13:30:03
  • client和customer有何区别?2025-06-21 13:30:03
  • 循环队列的运算方法2025-06-21 13:30:03
  • 公式编辑器破解版下载2025-06-21 13:30:03
  • autoit 教程2025-06-21 13:30:03
  • 什么事桥接模式2025-06-21 13:30:03