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

arr python



在Python编程中,我们经常需要处理命令行参数,例如从命令行中获取用户输入,设置程序的行为,或者调整不同模式下的行为。而是一个Python标准库,用于解析命令行参数并帮助开发者构建灵活的命令行接口。

本文将介绍的基本用法,帮助您快速入门并开始在自己的代码中使用该库。

在开始之前,您需要确保已经安装了库。大多数情况下,已经随着Python一起安装好了,但如果没有的话,您可以使用以下命令进行安装:

 
  

当安装完成后,您可以在代码中导入它:

 
  

要使用库,第一步就是创建一个对象。该对象将帮助您定义命令行接口的外观和行为。

 
  

在上述代码中,我们创建了一个名为的对象,并提供了一个描述该程序目的的简短描述。

位置参数是在命令行中必须提供的参数,它们通常用于传递位置相关的信息或必需的参数值。

在中,要添加位置参数,我们使用方法,并指定参数的名称和一些帮助信息。

 
  

在上述代码中,我们添加了一个名为的位置参数,并提供了一个简短的帮助信息。位置参数的值将在使用该程序时从命令行中获取。

可选参数是在命令行中提供的,但不是必须的参数。它们通常用于配置程序行为,设置程序的不同模式,或者指定一些可选的参数值。

类似于位置参数,我们可以使用方法来添加可选参数。我们可以指定短选项(使用单个破折号)或长选项(使用双破折号),并提供一些帮助信息。

 
  

在上述代码中,我们添加了一个名为的可选参数。我们指定了两个选择项,选择从和中进行。可选参数的值将在使用该程序时从命令行中获取。

在定义了所有的参数后,我们需要解析命令行上提供的参数。这将把命令行参数转换为Python对象,并和之前定义的参数相关联。

 
  

在上述代码中,我们使用方法来解析命令行参数,并将解析结果存储在变量中。

通过解析命令行参数,我们可以使用变量来访问并使用这些参数的值。

 
  

在上述代码中,我们通过和访问了解析后的参数值,并打印输出。

以下是一个完整的示例程序,演示了如何使用解析命令行参数并使用这些参数。

 
  

您可以在命令行中执行以下命令来运行这个示例程序:

 
  

输出结果将类似于:

 
  

注意

可以对位置参数设置,以限制用户只能从指定的选项中选择一个值。也可以对可选参数不设置,而是允许用户自定义。如果您在添加可选参数时未设置参数,那么用户可以自由地提供他们想要的值作为该参数的取值,灵活运用。

 
  

还提供了一些进阶的功能,以帮助处理更复杂的命令行参数。在掌握了基本的使用方法后,您可以进一步探索这些功能以满足特定需求。

参数 描述 值 prog 程序的名称 默认值:os.path.basename(sys.argv[0]) usage 描述程序用途的字符串 默认值:从添加到解析器的参数生成 description 要在参数帮助信息之前显示的文本 默认值:无文本 epilog 要在参数帮助信息之后显示的文本 默认值:无文本 parents 一个 ArgumentParser 对象的列表,它们的参数也应包含在内 formatter_class 用于自定义帮助文档输出格式的类 prefix_chars 可选参数的前缀字符集合 默认值:‘-’ fromfile_prefix_chars 当需要从文件中读取其他参数时,用于标识文件名的前缀字符集合 默认值:None argument_default 参数的全局默认值 默认值:None conflict_handler 解决冲突选项的策略 通常是不必要的 add_help 为解析器添加一个 -h/–help 选项 默认值:True allow_abbrev 如果缩写是无歧义的,则允许缩写长选项 默认值:True exit_on_error 决定当错误发生时是否让 ArgumentParser 附带错误信息退出 默认值:True
名称 描述 值 action 指明应当如何处理一个参数 ‘store’, ‘store_const’, ‘store_true’, ‘append’, ‘append_const’, ‘count’, ‘help’, ‘version’ choices 将值限制为指定的可选项集合 [‘foo’, ‘bar’], range(1, 10) 或 Container 实例 const 存储一个常量值 default 当未提供某个参数时要使用的默认值 默认为 None dest 指定要在结果命名空间中使用的属性名称 help 某个参数的帮助消息 metavar 要在帮助中显示的参数替代显示名称 nargs 参数可被使用的次数 int, ‘?’, ‘*’, ‘+’ required 指明某个参数是必需的还是可选的 True 或 False type 自动将参数转换为给定的类型 int, float, argparse.FileType(‘w’) 或可调用函数

可以为参数设置默认值,并使用参数来指定默认值;也可以通过设置来隐藏参数默认值。

 
  

在这个示例中,我们将参数的默认值设置为10。如果用户在命令行中未提供该参数,它将被解析为默认值10。

自定义帮助信息允许您自己定义参数的帮助信息和显示格式。

 
  

在上述示例中,我们通过指定参数为来自定义程序名称。我们还在参数中提供了一个简短的描述信息,并在参数中添加了一条结语。当用户查看帮助信息时,将显示您提供的自定义信息。

还能够让您将文件名作为参数接受,并自动读取文件的内容作为参数值。

 
  

在上述示例中,我们将指定为参数,它以只读模式打开文件,当参数被解析后,可以通过来访问文件对象。我们使用方法读取文件内容,并打印出来。最后,我们必须确保手动关闭文件对象。

允许接受多个值的参数,用户可以在命令行中多次提供该参数,并将其收集到一个列表中。

 
  

在这个示例中,通过设置,我们指示参数可以接受多个值,并将它们收集到列表中。

子命令允许您为程序创建不同的子命令,每个子命令都有自己的参数和行为,类似于git命令中的commit、checkout、branch等。

 
  

上述示例中,我们创建了一个子命令解析器,然后创建了两个子命令和的对象,分别添加了和作为各自子命令的参数。通过检查命名空间中相应的属性,我们可以判断用户选择了哪个子命令,并执行相应的逻辑。

互斥参数允许您定义一组参数中只能设置其中一个参数的情况。

 
  

在上述示例中,我们使用方法创建了一个互斥组。然后,我们为互斥组添加了两个互斥参数和,表示只允许选择其中一个。通过检查命名空间中相应的属性,我们可以确定用户选择了哪个参数,并执行相应的逻辑。

还可以解析和验证复杂类型的参数,例如JSON、CSV等。

 
  

上述示例中,我们编写了一个自定义的解析函数,它接受一个值作为字符串,并查看该字符串是否为有效的JSON格式。如果是有效的JSON,函数将使用方法解析该值,并将结果返回。如果不是有效的JSON,函数将引发一个的异常,该异常将被捕获并显示错误消息。

  • Python官方文档:argparse — 命令行选项、参数和子命令解析器

  • 上一篇: 移位运算c语言
  • 下一篇: 黑客工具箱2020
  • 版权声明


    相关文章:

  • 移位运算c语言2025-06-27 16:01:00
  • 数字图像处理实验怎么做2025-06-27 16:01:00
  • 火车头采集规则教程2025-06-27 16:01:00
  • 火鸟字幕组的礼包密码2025-06-27 16:01:00
  • 网络爬虫爬取网页的几个步骤2025-06-27 16:01:00
  • 黑客工具箱20202025-06-27 16:01:00
  • c语言指针函数有什么用2025-06-27 16:01:00
  • centos常用命令2025-06-27 16:01:00
  • java官网jdk下载2025-06-27 16:01:00
  • mysql8.0创建触发器2025-06-27 16:01:00