Python argparse的简单demo与详细使用说明

news2024/12/23 17:23:27

Python argparse的简单demo测试与使用说明

  • 1. Python argparse是啥?
  • 2. demo说明
    • 2.1 程序主体结构
    • 2.2 demo说明

1. Python argparse是啥?

  • argparse是python用于解析命令行参数的标准模块。
  • 我们很多时候,需要用到解析命令行参数的程序,例如在终端窗口输入(深度学习)训练的参数和选项。

2. demo说明

2.1 程序主体结构

argparse的使用一般可分为以下四个小步骤:

  • import argparse ;首先导入该模块
  • parser = argparse.ArgumentParser();创建一个解析对象
  • parser.add_argument();然后向该对象中添加要关注的命令行参数和选项,每一个add_argument方法对应一个要关注的参数或选项;
  • parser.parse_args();调用parse_args()方法进行解析,解析成功之后即可使用。

2.2 demo说明

在这个demo测试中,定义了两个参数-save_data和-data_dir两个参数,在命令行,可以基于调用指令,实现对应的函数参数输入。

import argparse

'''
关于argparse使用的一个简单demo说明
'''

def parse_args():
    # argparse 解析命令行参数 description: 就类似于一个title(标题、主题)
    parser = argparse.ArgumentParser(description='Train')
    '''data prepare'''

    # 通过 parser.add_argument 设置了一些可以个性化确定的参数,比如是否保存数据"--save_data",
    parser.add_argument('--save_data', type=bool, default=False, help='whether saving as mat')
    parser.add_argument('--data_dir', type=str, default="./data", help='the directory of the data folder')

    # 这儿就是表示需要输入一个参数,才能完成 上面 -save_data和-data_dir的操作(此处,没有,则表示不需要输入参数)
    args = parser.parse_args()

    return args



if __name__ == '__main__':
    args = parse_args()

    # 这儿是基于终端交互过程中是否定义了相关参数,进行下一步操作
    '''
    比如:定义了--save_data, 那么args.save_data就会变为True,下面的判断语句就会通过,并显示“数据已保存!”
    '''
    if args.save_data:
        print("数据已保存!")
    if args.data_dir:
        print(f"数据将保存在:{args.data_dir}")
  • 测试1-1:比如,在命令行输入:
python arg_parse_test.py --save_data csv

测试1-1返回结果如下:

数据已保存!
  • 测试1-2:比如,在命令行输入:
python arg_parse_test.py --save_data

测试1-2返回结果如下:

arg_parse_test.py: error: argument --save_data: expected one argument

原因可以参考you.com的说明,有啥编程错误,参考这个快速而准确!
在这里插入图片描述

  • 测试2:比如,在命令行输入:
python arg_parse_test.py --data_dir "abc"

测试2返回结果如下:

数据将保存在:abc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/553736.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webmsxyw x-s分析

近期又更新了,先是改了x-s生成,然后又加上了a1校验。 后面可能会全参校验,比如再加上gid、deviceId、profileData、x-s-common、smidV2之类。 估计以后不能写了,大家且看且珍惜吧。之前相关的文章都被下架了 危! 文…

中小企业热衷于做网络营销的原因有哪些?

随着互联网的快速发展,网络营销已经成为了现代企业营销中不可或缺的一部分。在这个过程中,中小企业热衷于网络营销的原因也越来越多地被人们所关注。那么,中小企业为什么热衷于网络营销呢?下面就为大家详细阐述。 一、网络营销成本…

落地包体积监控,用Kotlin写一个APK差异分析CLI

引言 当谈到包体积优化时,网上不乏优秀的方案与文章,如 混淆、资源、ReDex、R8、SO 优化等等。 但聊到 包体积监控 时,总是感觉会缺乏落地性,或者总是会下意识认为这可能比较麻烦,需要其他部门连同配合。通常对于有A…

Spring的定义和创建,使用

前言: 我们常说的Spring就是Spring Framework(Spring框架),Spring支持广泛的应用场景,可以让Java企业级的应用程序开发起来更简单。 目录 一.Spring的定义: 1.1:IOC 1.2:DI 二:Spring的创建 三&…

【JavaEE进阶】第五节.第一个SpringBoot项目的创建

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:JavaEE进阶 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录 前…

赛宁首创革新赛制助力人才培养 | 第十六届全国大学生信息安全竞赛-创新实践能力赛全面启动!

​​为积极响应国家网络空间安全人才战略,加快攻防兼备创新人才培养步伐,实现以赛促学、以赛促教、以赛促用,推动网络空间安全人才培养和产学研用生态发展,由国防科技大学与中国科学技术大学联合承办的第十六届全国大学生信息安全…

你是不是在担心,ChatGPT写出的文字被其它AI识别?

文 / 高扬(微信公众号:量子论) 最近不少人问我一个道听途说的事情:听说已经有AI工具能够识别是不是ChatGPT写的文字了? 看来必要写篇文章,通过摆事实,为大家压压惊。 在赌场里,能抓老千的人一定…

2023年湖北中级工程师职称申请全流程,你知道吗?启程别告诉你!

2023年湖北中级工程师职称申请全流程,你知道吗?启程别告诉你! 中级职称评审其实是有几个阶段的,职称申请全过程,启程别告诉你,让你评职称少走弯路哟: 第一阶段:准备阶段 第二阶段&…

【JavaEE进阶】——第六节.SpringBoot配置文件介绍

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:JavaEE进阶 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录 前…

深度学习框架-Caffe:特点、架构、应用和未来发展趋势

引言 深度学习是一种新兴的技术,已经在许多领域中得到广泛的应用,如计算机视觉、自然语言处理、语音识别等。在深度学习中,深度学习框架扮演着重要的角色。Caffe是一种广泛使用的深度学习框架,它在许多方面都有所改进&#xff0c…

基于Android的运动健身减肥管理系统设计与实现

一、项目介绍​ Android客户端功能描述: 1:登录注册:第一次输入用户名密码之后,再次打开登录页面,页面上自动填充上次输入的用户名和密码,登录使用图形验证码验证,登录成功之后,再…

两种鲸鱼优化算法 (whale optimization algorithm, WOA)及仿真实验——附代码

目录 摘要: 算法设计: WOA总体流程图如下: 增强型WOA(E-WOA) 仿真运行效果: 完整程序: 摘要: 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯…

PM861K01 3BSE018105R1协作机器人机械臂的每个轴上会安装扭矩传感器,用于测量轴电机和变速箱内的机械张力

​ PM861K01 3BSE018105R1协作机器人机械臂的每个轴上会安装扭矩传感器,用于测量轴电机和变速箱内的机械张力 机器人在工业领域已经存在了几十年的时间,但技术创新正在推动全新一轮的工厂自动化趋势。对于那些曾经负担不起(或者不需要&…

Spring 中 @NotEmpty、@NotBlank、@NotNull,傻傻分不清楚!

1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.0.5.RELEASE</version> </dependency>NotEmpty、NotBlank、NotNull 包的位置&#xff1…

智驾芯片市场要“变天”,这家中国厂商如何成为“量产先锋”?

中国智能驾驶芯片的量产之战&#xff0c;正在高歌猛进。 5月19日&#xff0c;黑芝麻智能宣布获得一汽红旗下一代FEEA3.0电子架构平台项目量产智驾芯片定点。据了解&#xff0c;基于黑芝麻智能华山二号A1000L系列芯片&#xff0c;一汽红旗将打造非分时复用的高性价比行泊一体自…

OpenHarmony社区运营报告(2023年4月)

本月快讯 • 2023年4月9日&#xff0c;OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;3.2 Release新版本发布。相比一年前的OpenHarmony 3.1 Release版本&#xff0c;新版本的系统能力、系统整体性能、稳定性和安全性都进一步得到提升和完善&#xff1b…

小兔鲜项目----vue3入门

目录 认识Vue3 为什么需要学Vue3? Vue3组合式API体验 Vue3更多的优势 使用create-vue搭建Vue3项目 认识 create-vue 使用create-vue创建项目 熟悉项目目录和关键文件 组合式API - setup选项 setup选项的写法和执行时机 setup选项中写代码的特点 组合式API - reactive和…

SEO优化需要天天更新文章吗?

SEO优化并不要求每天都更新文章。 更新频率取决于你网站的内容类型、目标受众和业务需求。以下是一些建议&#xff1a; 高质量内容&#xff1a;关键是提供有价值且吸引人的内容。不要为了更新而随意发布低质量或重复的内容。确保你的文章有深度、独特性和相关性&#xff0c;以…

出现小红书负面笔记怎么维护,需要注意什么

很多时候&#xff0c;我们在品牌发布的过程中&#xff0c;都会遭受到来自各方不同的恶意。比如&#xff0c;品牌在小红书遇到同行或者写手恶意笔记&#xff0c;这个时候&#xff0c;大家肯定想要的就是不要负面笔记。今天来和大家分享下出现小红书负面笔记怎么维护&#xff0c;…