常用python代码大全-python使用argparse模块处理命令行参数

这篇具有很好参考价值的文章主要介绍了常用python代码大全-python使用argparse模块处理命令行参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

argparse 是 Python 的一个标准库模块,用于从命令行解析参数。这个模块使编写用户友好的命令行接口变得更加简单。下面是一个使用 argparse 模块处理命令行参数的示例代码:

import argparse

# 创建 ArgumentParser 对象
parser = argparse.ArgumentParser(description='这是一个示例程序')

# 添加参数
parser.add_argument('--input', type=str, help='输入文件')
parser.add_argument('--output', type=str, help='输出文件')
parser.add_argument('--verbose', action='store_true', help='详细输出')

# 解析参数
args = parser.parse_args()

# 使用参数
if args.input:
    print(f"输入文件: {args.input}")
if args.output:
    print(f"输出文件: {args.output}")
if args.verbose:
    print("详细输出模式")

在这个示例中,我们首先导入了 argparse 模块。然后,我们创建了一个 ArgumentParser 对象,它代表我们的命令行界面。接着,我们使用 add_argument 方法添加了三个参数:--input--output--verbose。这些参数具有不同的类型和用途:

  • --input 是一个字符串类型的参数,表示输入文件。
  • --output 是一个字符串类型的参数,表示输出文件。
  • --verbose 是一个布尔类型的参数,表示是否启用详细输出模式。

add_argument 方法中,我们还指定了每个参数的帮助信息,这些信息将在命令行中显示,以帮助用户了解每个参数的作用。

最后,我们使用 parse_args 方法解析命令行参数,并将解析结果存储在 args 变量中。现在,我们可以使用 args.inputargs.outputargs.verbose 来访问解析后的参数值。如果某个参数存在,就可以执行相应的操作;否则,可以执行默认操作或什么都不做。

这个示例演示了如何使用 argparse 模块处理命令行参数的基本用法。通过添加更多的参数和逻辑,你可以构建更复杂的命令行界面。

当然,argparse 模块的功能远不止于此。以下是一些更高级的用法:

1.位置参数:除了命名参数外,还可以添加位置参数。例如:

parser.add_argument('input_file')

2.参数默认值:可以为参数设置默认值。例如:

parser.add_argument('--input', default='default_input.txt')

3.参数类型:除了基本的字符串和布尔类型,还可以使用其他类型,如整数、浮点数、选择列表等。例如:

parser.add_argument('--age', type=int, choices=range(0, 120))

4.参数的限制和约束:可以设置参数的限制条件,例如参数之间的依赖关系或互斥关系。例如:

group = parser.add_mutually_exclusive_group()
group.add_argument('--method1')
group.add_argument('--method2')

5.参数的子命令:对于复杂的命令行工具,可以使用子命令来区分不同的操作。例如:

subparsers = parser.add_subparsers(dest='command')
subparsers.add_parser('count').add_argument('--verbose')
subparsers.add_parser('find').add_argument('--name')

6.参数的帮助信息:可以使用 help 参数为参数提供更详细的描述。例如:

parser.add_argument('--input', help='The input file to process.')

7.参数的隐藏:有时,你可能希望某些参数对用户隐藏,可以使用 help 参数的布尔值来实现。例如:

parser.add_argument('--internal-parameter', help=argparse.SUPPRESS)

8.参数的自动完成和提示:在某些情况下,可以使用 metavar 参数为命令行提供自动完成提示。例如:

parser.add_argument('--input', metavar='FILE', help='The input file to process.')

9.参数的解析顺序:可以使用 add_argument 方法的 action 参数来指定参数的行为,例如 store_constappend 等。这些行为可以在 parse_args 方法的 action 参数中使用。例如:

parser.add_argument('--flag', action='store_true')  # 默认行为,将值设为 True 或 False
parser.add_argument('--values', action='append')  # 将值添加到列表中,而不是替换现有值

10.参数的命名空间:可以使用 parse_args 方法返回的命名空间来访问解析后的参数。这比直接访问属性更为灵活。例如:

args = parser.parse_args()  # 返回一个命名空间对象,其中包含所有解析后的参数值
print(args.input)  # 访问解析后的参数值,与直接访问属性相同

11.参数的回调函数:可以为参数添加回调函数,在参数被解析后执行特定的操作。例如:

def validate_input_file(value):
    if not os.path.exists(value):
        raise argparse.ArgumentTypeError(f"{value} does not exist")
    return value

parser.add_argument('--input', type=validate_input_file, help='The input file to process.')

12.参数的冲突处理:可以使用 conflicts 参数来指定哪些参数是互斥的,不能同时使用。例如:

parser.add_argument('--method1', conflicts='--method2')

13.参数的命令行选项:可以使用 option_strings 参数为参数指定不同的命令行选项。例如:

parser.add_argument('--input', dest='input_file', option_strings=['--input', '-i'])

14.参数的命名规范:可以使用 dest 参数为参数指定一个名称,这个名称将被用作后续访问的属性名。例如:

parser.add_argument('--input-file', dest='input_file')

这些只是一些基本和高级的用法示例,argparse 模块的功能非常强大,可以满足各种复杂的命令行参数解析需求。更深入的了解和使用,可以参考 Python 的官方文档或其他相关教程。文章来源地址https://www.toymoban.com/news/detail-789847.html

到了这里,关于常用python代码大全-python使用argparse模块处理命令行参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 的 argparse 模块的作用,以及分享一个通用代码模板

    🍉 CSDN 叶庭云 : https://yetingyun.blog.csdn.net/ argparse 是 Python 内置的一个用于命令项选项与参数解析的模块。它的作用是帮助我们处理命令行输入,轻松编写用户友好的命令行接口。 命令行接口的需求 : 假设您编写了一个 Python 脚本,您希望用户能够在运行脚本时提供一些选项

    2024年02月22日
    浏览(46)
  • Python之使用argparse在命令行读取文件

    关于argparse之parser.add_argument()的用法,这篇文章有较为详细的讲解。因为作业需要,我需要在命令行读入txt文件,网上看了不少博客,都没有直接介绍,而小白在自己尝试的过程中踩了不少坑,尽管做法很简单。这里记在这里。 1.在Python的shell中写一个 ArgparseTry.py 文件,其中

    2023年04月08日
    浏览(79)
  • python常用模块大全

    目录 时间模块time() 与 datetime() random()模块 os模块 sys模块 tarfile用于将文件夹归档成 .tar的文件 shutil 创建压缩包,复制,移动文件 zipfile将文件或文件夹进行压缩 shelve 模块 json和pickle序列化 hashlib 模块 subprocess 模块 re模块 time()模块中的重要函数 time()模块时间格式转换 time()模块时

    2023年04月08日
    浏览(71)
  • 22 Python的argparse模块

    概述         在上一节,我们介绍了Python的datetime模块,包括:datetime模块中一些常用的属性和函数。在这一节,我们将介绍Python的argparse模块。argparse模块是Python的一个标准库,用于编写命令行界面。它可以处理命令行参数和选项,并生成帮助和使用信息。         该

    2024年02月07日
    浏览(48)
  • 以optee的sign_encrypt.py为例讲解argparse命令解析模块

    Argparse是 Python 标准库中推荐的命令行解析模块。该模块会自动生成提示信息,且在用户给程序传入非法参数时报错。 刚好最近在看optee的sign_encrypt.py,以它为例介绍python的argparse命令解析模块。 脚本参见:optee_os/scripts/sign_encrypt.py at master · OP-TEE/optee_os · GitHub ArgumentParser 对象

    2024年02月10日
    浏览(45)
  • python中argparse模块关于 parse_args() 函数详解(全)

    原理:命令行解析使用argparse包 作用:命令行传参赋值 可用在机器学习深度学习 或者 脚本运行等 了解这个函数需要了解其背后的原理以及具体参数 在深度学习模型框架中几乎都有的模块 浓缩后的示例代码: 主要的对象值赋参,对应的参数具体如下: 主要有两种情况: 位

    2024年02月16日
    浏览(39)
  • Linux命令大全:掌握常用命令,轻松使用Linux操作系统

    Linux常用命令是指在Linux操作系统中广泛使用的命令工具,这些命令工具可以完成各种不同的任务,如管理文件和目录、操作进程、网络通信、软件安装等。一些常用的Linux命令包括cd、ls、mkdir、rm、cp、mv、ps、top、ping、ssh、tar、grep、find、shutdown、reboot、apt和yum等。这些命令工

    2024年02月14日
    浏览(54)
  • Python常用的数据处理函数和模块

    Python还提供了许多其他用于数据处理和转换的内置函数和模块。以下是一些常用的数据处理函数和模块: sorted(iterable, key=func, reverse=False) 用于对可迭代对象进行排序。你可以指定一个可选的 key 函数来自定义排序规则,以及一个可选的 reverse 参数来控制升序或降序排序。 en

    2024年02月05日
    浏览(55)
  • 【Python】pyecharts 模块 ④ ( pyecharts 模块常用配置 | 全局配置和系列配置 | 全局配置详细描述 | 模块配置提示 | 模块配置文档 | 代码示例 )

    pyecharts 画廊网站 : https://gallery.pyecharts.org/#/ 在该网站可查看官方示例 pyecharts 模块 有很多 配置选项 , 常用的配置项有如下几种 : 初始化配置项 ( InitOpts ) 标题配置项 ( TitleOpts ) 图例配置项 工具箱配置项 ( ToolboxOpts ) 视觉映射配置项 ( VisualMapOpts ) 提示框配置项 ( TooltipOpts ) 区域

    2024年02月04日
    浏览(39)
  • git 常用命令大全(附命令注释)

    目录 1 安装 2 初始化配置 3 初始化仓库  4 C(新增)  5 U(修改) 7 R(查询) 8 分支 8.1 git分支本质 8.3 git分支的注意点 8.4 后悔药 8.5 reset三部曲 8.6 路径reset 8.7 checkout深入理解 9 git远程协作开发 9.1 三个必须懂得概念 9.2 远程协作的基本流程 9.3 做跟踪 9.4 推送  9.5 拉取   9.6 pull req

    2024年02月07日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包