argparse基本用法

2023-11-04

    关于argparse网上的资料好多,搞明白后自己整理下,方便以后查看。argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数。它的使用也比较简单。
1.基本框架

下面是采用argparse从命令行获取用户名,该python的文件名为:fun_test.py

import argparse

def main():
    parser = argparse.ArgumentParser(description="Demo of argparse")
    parser.add_argument('-n','--name', default=' Li ')
    parser.add_argument('-y','--year', default='20')
    args = parser.parse_args()
    print(args)
    name = args.name
    year = args.year
    print('Hello {}  {}'.format(name,year))

if __name__ == '__main__':
    main()

执行命令python fun_test.py结果如下:
在这里插入图片描述
     在上面的代码中,我们先导入了argparse这个包,然后包中的ArgumentParser类生成一个parser对象(好多博客中把这个叫做参数解析器),其中的description描述这个参数解析器是干什么的,当我们在命令行显示帮助信息的时候会看到description描述的信息。
     接着我们通过对象的add_argument函数来增加参数。这里我们增加了两个参数nameyear,其中'-n','--name'表示同一个参数,default参数表示我们在运行命令时若没有提供参数,程序会将此值当做参数值。执行结果如上图所示。
     最后采用对象的parse_args获取解析的参数,由上图可以看到,Namespace中有两个属性(也叫成员)这里要注意个问题,当'-''--'同时出现的时候,系统默认后者为参数名,前者不是,但是在命令行输入的时候没有这个区分接下来就是打印参数信息了。
当执行命令python fun_test.py -n Wang --year '26'结果如下:
在这里插入图片描述
当执行命令python fun_test.py -h可以查看帮助信息
在这里插入图片描述

更多参数介绍可以参看这个链接

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

argparse基本用法 的相关文章

  • Flask中使用的路由装饰器是如何工作的

    我熟悉 Python 装饰器的基础知识 但是我不明白这个用于 Flask 路由的特定装饰器是如何工作的 以下是 Flask 网站上的代码片段 from flask import Flask escape request app Flask
  • 如何在python中附加两个字节?

    说你有b x04 and b x00 你如何将它们组合起来b x0400 使用Python 3 gt gt gt a b x04 gt gt gt b b x00 gt gt gt a b b x04 x00
  • 数据框 - 平均列

    我在 pandas 中有以下数据框 Column 1 Column 2 Column3 Column 4 2 2 2 4 1 2 2 3 我正在创建一个数据框 其中包含第 1 列和第 2 列 第 3 列和第 4 列等的平均值 ColumnA
  • 如何使用 Python boto3 获取 redshift 中的列名称

    我想使用 python boto3 获取 redshift 中的列名称 创建Redshift集群 将数据插入其中 配置的机密管理器 配置 SageMaker 笔记本 打开Jupyter Notebook写入以下代码 import boto3
  • 使用 Python 3 动态插入到 sqlite

    我想使用 sqlite 写入多个表 但我不想提前手动指定查询 有数十种可能的排列 例如 def insert sqlite tablename data list global dbc dbc execute insert into tab
  • 如何获取numpy.random.choice的索引? - Python

    是否可以修改 numpy random choice 函数以使其返回所选元素的索引 基本上 我想创建一个列表并随机选择元素而不进行替换 import numpy as np gt gt gt a 1 4 1 3 3 2 1 4 gt gt
  • 使用 Pytest 的参数化添加测试功能的描述

    当其中一个测试失败时 可以在测试正在测试的内容的参数化中添加描述 快速了解测试失败的原因 有时您不知道测试失败的原因 您必须查看代码 通过每个测试的描述 您就可以知道 例如 pytest mark parametrize num1 num2
  • 以类型化内存视图作为成员的结构定义

    目前我正在尝试让一个具有类型化内存视图的结构能够工作 例如 ctypedef struct node unsigned int inds 如果 inds 不是内存视图 据我所知 它可以完美地工作 然而 通过内存视图并使用类似的东西 def
  • 是否有一个包可以维护所有带有符号的货币列表?

    是否有一个 python 包提供所有 或相当完整 货币的列表与符号 如美元的 有优秀的pycountry 贪财的 https github com limist py moneyed and ccy http code google com
  • 如何将 sql 数据输出到 QCalendarWidget

    我希望能够在日历小部件上突出显示 SQL 数据库中的一天 就像启动程序时突出显示当前日期一样 在我的示例中 它是红色突出显示 我想要发生的是 当用户按下突出显示的日期时 数据库中日期旁边的文本将显示在日历下方的标签上 这是我使用 QT De
  • python 中的 h2o 框架子集

    如何在 python 中对 h2o 框架进行子集化 如果 x 是一个 df 并且 Origin 是一个变量 那么在 pandas 中我们通常可以通过以下方式进行子集化 x x Origin AAF 但使用 h2o 框架会出现以下错误 H2O
  • Python MySQL 操作错误:1045,“用户 root@'localhost' 的访问被拒绝

    我试图通过以下方式从我的 python 程序访问数据库 db mysql connect host localhost user Max passwd maxkim db TESTDB cursor db cursor 但是 我在第一行代码
  • 使用seaborn绘制简单线图

    我正在尝试使用seaborn python 绘制ROC曲线 对于 matplotlib 我只需使用该函数plot plt plot one minus specificity sensitivity bs where one minus s
  • 使用 suds SOAP 库进行 HTTP 身份验证的奇怪行为

    我有一个正在运行的 python 程序 它使用 suds 通过 SOAP 获取大量数据 Web服务是通过分页功能实现的 这样我就可以抓取nnn每个 fetch 调用的行并获取下一个nnn与后续的电话 如果我使用如下代码向 HTTP 服务器进
  • Discord.py 嵌入中禁用按钮/冻结按钮

    I m trying to make a replica of this bot in which when I press any of the buttons below it shows a dropdown menu and you
  • PyInstaller“ValueError:源代码字符串不能包含空字节”

    我得到了一个ValueError source code string cannot contain null bytes执行命令时pyinstaller main py在具有和不具有管理员权限的cmd中 Traceback most re
  • 使用 selenium 和 python 来提取 javascript 生成的 HTML?萤火虫?

    这里是Python新手 我遇到的是数据收集问题 我在这个网站上 当我用 Firebug 检查我想要的元素时 它显示了包含我需要的信息的源 然而常规源代码 没有 Firebug 不会给我这个信息 这意味着我也无法通过正常的 selenium
  • 在 numpy 中连接维度

    我有x 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 2 3 I want 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 6 也就是说 我想连接中间维度的所有项目 在这种特殊情况下我可以得到这
  • 在matlab中,如何读取python pickle文件?

    在 python 中 我生成了一个 p 数据文件 pickle dump allData open myallData p wb 现在我想在Matlab中读取myallData p 我的Matlab安装在Windows 8下 其中没有Pyt
  • 如何在 scikit 中加载 CSV 数据并将其用于朴素贝叶斯分类

    尝试加载自定义数据以在 Scikit 中执行 NB 分类 需要帮助将示例数据加载到 Scikit 中 然后执行 NB 如何加载目标的分类值 使用相同的数据进行训练和测试 或使用完整的数据集进行测试 Sl No Member ID Membe

随机推荐

  • 组词典

    组词典将多个图形对象编组存储 存储后的效果 可以通过组来找到所需要的实体 在界面上选中一个就可以找到其他实体 即选中的为一个组 但是与块对比 不同的是将实体分组并不形成新的实体对象 在CAD中的的命令为group 创建组词典 AcDbGro
  • Pytorch创建与安装(无GPU) 无敌教程

    第一步 Pytorch创建与安装 无GPU 独爱相关算法的博客 CSDN博客 pytorch没有gpu 第一步中要看这一步 anaconda下载及安装 保姆级教程 知乎
  • 【编译原理】- 递归下降的语法分析器的实现

    目录 一 实验题目 二 分析与设计 三 源代码 一 实验题目 编写识别由下列文法G E 所定义的表达式的递归下降语法分析器 E E T E T T T T F T F F F E i 输入 含有十进制数或十六进制数的表达式 如 75 1ah
  • 关于vector的emplace_back和push_back的区别

    实验代码 class A public A int x x x cout lt lt construct A lt lt endl A const A a x a x cout lt lt copy construct A lt lt en
  • 正则重难点和个人见解

    正则表达式 RegExp 常用不常写 1 查询 正则大全 2 作用 描述了一种字符串的匹配模式 用在表单验证 搜索替换 模糊查询 一 声明 1 构造函数 new RegExp 规则 模式修正符 2 字面量 let reg 规则 模式修正符
  • https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

    https www cs usfca edu galles visualization Algorithms html
  • 编码(NRZ、NRZI、曼彻斯特、4B/5B)

    将节点和链路变成可用构件的第一步 是清楚它们如何连接 以使比特从一个节点传输到另一个节点 正如在前一节中提到的 信号是在物理链路上传播的 因此 我们的任务是将源节点准备发送的二进制数据编码为链路能够传送的信号 然后在接收节点将信号解码成相应
  • 《Qt MOOC系列教程》第二章第二节:对象通信:信号和槽

    几乎所有的UI工具包都有一种机制来检测用户操作 并对该操作做出响应 其中一些使用回调 另一些使用监听器 但基本上 所有这些都是受观察者模式的启发 观察者模式用于观察对象想要通知其他观察者对象状态变化的情况 下面是一些具体的例子 用户单击了一
  • 【java】【jvm】使用命令行jmap手工触发fullGC

    使用了jmap工具实现 手工触发fullGC 运维常备 jmap histo live
  • 前台js中json转数组,数组转json;后台字符串String转list(类),String 转map

    前台js 数组转json串 var arr 1 2 3 a 1 JSON stringify arr json字符串转数组 var jsonStr 1 2 3 a 1 JSON parse jsonStr 后台String转list Str
  • 远程桌面连接Windows server 2012,提示 “这可能是由于 CredSSP 加密 Oracle 修正”

    出现这个问题看了好多人的博客 到最后发现其实很简单 远程桌面连接之前都是正常使用的 就是链接2012R2的时候出现这样的提示 这个主要原因是微软5月8日更新了补丁 安全性增强了 一开始我总是认为2012R2的原因 因此一直再2012里边调试
  • Java实战05 powerjob 4.3.2 + springboot 任务管理界面化

    目录 1 powerjob 3 4与4 3版本比较 2 官网下载 3 启动后直接登录 http 127 0 0 1 7700 4 新建任务 5 邮件预警 现在大量数据的任务跑批项目越来越多 任务界面化操作也越来越受到重视 于是powerjo
  • 如果笔记软件公司倒闭了,你的笔记还能接着用吗?

    检视你的笔记数据安全和由此引申出来的笔记工具选择问题 疑问 知识星球上 星友刘杰提问 我们记录在相关工具上的笔记及相关内容 会不会因为什么原因 比如 工具背后的公司倒闭了 而无法再查看和调用了呢 如果有 会是哪些原因呢 谢谢 能有数据安全意
  • TOPSIS法(优劣解距离法)介绍及 python3 实现

    本文转载自博文 TOPSIS法 优劣解距离法 介绍及 python3 实现 这里也给出一个很好的参考资料 夹逼对抗解释结构模型 SAISM 即TOPSIS AISM联用模型 文章目录 1 简述 2 TOPSIS过程 2 1 指标属性同向化
  • libcurl自定义header数据信息头

    struct curl slist headers NULL headers curl slist append headers Content Type application json headers curl slist append
  • MySQL 中 FIND_IN_SET 函数执行非常慢的某种写法

    MySQL版本 5 7 19 1 需求场景 a 表说明 商品分类关系表 t class product classId 分类主键 fn class childs 1 返回所有子分类主键字符串 b 功能说明 依据 分类主键 查询该分类下的所有
  • java web button_javaweb怎么为按钮设置按键

    代码和按钮要使用的代码如下 欢迎登录成绩查询系统 学号 代码和按钮要使用的代码如下 欢迎登录成绩查询系统 学号 密码 按钮需要的代码 String driverName com microsoft sqlserver jdbc SQLSer
  • springboot + shiro + vue 允许静态文件的访问

    springboot shiro vue 前后分离打包部署 前端打包 放入后端resources下的static中 后端打包部署服务器就行 部署完成后 发现一个坑 就是页面无法访问 网上找了很多 最后发现是集成shiro的原因 总结处理方式
  • IDDPM的UNetModel的ResBlock和AttentionBlock详解

    IDDPM的UNetModel的ResBlock和AttentionBlock详解 ResBlock AttentionBlock class UNetModel nn Module The full UNet model with att
  • argparse基本用法

    关于argparse网上的资料好多 搞明白后自己整理下 方便以后查看 argparse 是python自带的命令行参数解析包 可以用来方便地读取命令行参数 它的使用也比较简单 1 基本框架 下面是采用argparse从命令行获取用户名 该p