python argparse模块学习笔记

python爬虫之urllib.parse详解 使用 urlencode() 函数可以将一个 dict 转换成合法的查询参数: dict1 = {'key1': 'one', 'key2': 3, 'key3': '中国', 'key4': '加油' } # 字典类型 import urllib.parse print( urllib.parse.urlencode(dict1) ) 结果为: key1=one&key2=3&am... 阅读详情

看了几个python程序,但凡涉及到从命令行直接读取参数的时候,都有相似的如下代码,例如从命令行读取变量x,y的值

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("x", help="横坐标",type=int)
parser.add_argument('y', help="纵坐标",type=int)
args = parser.parse_args()

作为刚开始学python的小白,我一开始不太明白这段代码干啥用的,所以从网上找了很多博客文章,看了一圈之后感觉还是官网上的解释最详细明了,https://docs.python.org/2/howto/argparse.html,看完之后至少不迷糊了,所以写一个教程防止自己忘了。

这个模块的作用就是从命令行读取参数嘛,那到底是这么读取的呢,首先来看一个简单的程序 ,命名为no.py:

import argparse

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("x", help="横坐标",type=int)
parser.add_argument('y', help="纵坐标",type=int)
args = parser.parse_args()
x=args.x
y=args.y
print(x,y);

这个程序可以实现从命令行读取x,y的值之后在输出。可以打开cmd,输入样例如下:python no.py 3 4

则出现结果为:

可以看到,程序执行了输出命令print,将x,y的值输出出来。

下面对这几个函数及其中的参数做一下说明。

其实这些函数的默认的参数都有很多,但我看很多程序基本也就用了几个,对一个小程序来说已经足够了。

add_argument()函数

可以看到上面这个函数中有三个参数,

第一个是名称,就是为你读取的变量起一个名字,例如x,y,这个你随便起一个你自己要名字。

第二个是help,这是提示信息,告诉你这个变量是啥东西,怎么看这些信息呢,在命令行输入:python no.py -h

然后就会出现帮助信息了

第三个是type,就是参数的类型嘛,整型,字符型,浮点型,看你想把它作为什么类型的变量了。

到这里我感觉就可以解决绝大多数问题了,但还有一个小地方就是关于那种前面带“-”的那种参数比如说什么“-v”,“-p”,"-h"这种奇怪的东西,一开始我也云里雾里,不知道这些是干嘛用的,然后看完了https://docs.python.org/2/howto/argparse.html之后大概有点明白了。想要弄明白的童鞋可以直接看Introducing Optional arguments 这部分

Optional arguments (可选参数)

上文中提到的这些带“-”的参数形式就是可选参数。

按我自己的理解嘛,这就好比是吃烧烤一样,在你点串儿的时候,烤串师傅一般会问你“放不放辣?”,如果你说放,那他就会在你的串上放上点辣椒面儿。

像“x”,“y”这样的参数就好比你点的串儿,而那些带“-”的就好比是辣椒面儿

比如:参数 x 表示羊肉串儿,那么 在 x 后面加上你自己定义的“-v”,即 x -v 就是加了辣的串,然后如果是 x -vvv,那就是变态辣,

或者你在设一个“-p”,用 x -p 表示加了孜然的羊肉串, x -v -p 就表示加了孜然和辣椒的羊肉串。

下面展示一个实例:

import argparse

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("x", help="横坐标",type=int)
parser.add_argument('y', help="纵坐标",type=int)
parser.add_argument("-v",help="x翻倍",action="store_true")
args = parser.parse_args()
if args.v:
    args.x=args.x*2;
x=args.x
y=args.y
print(x,y);

如果加了参数 -v ,则x变为输入值的两倍。

还有一种就是 -v 后面带数字,比如 -v 1,-v 2 等等,这时候代码就要修改成

parser.add_argument("-v",help="x翻倍",type=int)

如果是 -vvv这种代码要修改成:

parser.add_argument("-v",help="x翻倍",action="count")

判断条件中的代码也要做相应的修改。详细的过程在链接中都有,想要了解详情的朋友可以自己去看一下。

到这最基本的功能就讲完了,目前只是做一点小程序,所以其他的没怎么看,不过这一点已经够我用的啦。

 

 

 

 

 

在国产麒麟V10(arm64)上离线部署Docker 24.0.6和Compose 2.30.1,保姆级避坑实录 本文详细介绍了在国产麒麟V10(arm64)操作系统上离线部署Docker 24.0.6和Compose 2.30.1的完整流程,包括环境准备、架构认知、安装步骤、系统服务优化及生产环境加固。特别针对ARM64架构的兼容性问题提供了解决方案,帮助用户在信创环境中高效部署容器化技术。 阅读详情

相关推荐

数字孪生成熟度的L0-L4五级划分,各自特征和应用场景

数字孪生的分级(或成熟度模型)通常用于描述其技术复杂度和功能完备性的演进过程。3D设计模型(CAD)、建筑信息模型(BIM)、产品数字化手册。全自动驾驶系统、自适应智能电网、 “黑灯工厂”的自主调度。多学科模型融合、 “What-if”分析、提供决策建议。IoT设备监控平台、预测性维护(报警)、智慧仪表盘。工艺仿真优化、资产性能管理、手术方案预演、虚拟调试。状态监控、历史回溯、阈值报警、根因分析。可视化、数字化档案。自优化、自适应、目标驱动、高度自治。传统设备、纸质记录的管理模式。无或仅有离线、孤立数据。

2401_82881178的博客 1548

urllib.parse 库详解

是 Python 标准库中用于处理 URL 的库。它提供了一系列函数和类,用于在 Python 程序中与网络交互。

weixin_43765541的博客 1337

kettle多表数据迁移

点击 文件——新建——作业,在左侧的 核心对象 标签下选择 通用,双击添加一个 start ,一个 转换 ,一个 作业 和一个 成功 到右侧的作业面板,这些作业项都可以改名字。点击文件—新建—转换,在左侧的 核心对象 标签下选择 输入 下的 表输入,双击添加到右侧的转换面板,再选择 作业 下的 复制记录到结果 ,双击添加到右侧的转换面板。新建转换,在左侧的 核心对象 标签下选择 作业 下的 从结果获取记录,双击添加到右侧的转换面板,再选择 作业 下的 设置变量 ,双击添加到右侧的转换面板。

u014061745的博客 1340

urllib.parse

解析链接 文章目录解析链接一、简介 urllib.parse二、函数介绍1 urlparse()6(1)代码实例:(2)定义域值域定义域:参数:urlstring :scheme:allow_fragments:值域:(3)ParseResult中各属性的获取方法2 urlunparse()(1)代码实例:(2)定义域值域定义域:值域:3 urlsplit()54 urlunsplit()5 ur...

智障儿童欢乐多 964

数据仓库实践:从ITR流程讲指标体系建设

从 ITR 流程或者其他客服反馈流程的考核过程可见,实际工作中不可能只通过单个指标评价一个业务过程,需要从多个维度梳理业务,并把多个高度相关的指标组织起来,以避免只考虑其中某个指标从而摧毁整个业务过程的结果,指标体系=指标+体系。

the_singing_towers的博客 2265

基于FPGA的AGC自适应增益控制系统开发

自动增益控制(AGC)是一种在接收信号过程中自动调整放大器增益的技术,以确保输出信号的幅度保持在一个恒定的水平。基于FPGA实现AGC系统具有高性能、低延迟和高度可配置的特点,广泛应用于无线通信、音频处理和雷达等领域。FPGA上的AGC系统提供了一种高效且灵活的方法来处理变化的信号环境。在实际应用中,通过合理的设计和优化,可以显著提高信号处理系统的鲁棒性和可靠性。

走向CTO的路上... 1694

【Pycharm】自动调整代码格式

文章目录如何在`Pycharm`自动调整代码格式?方法一:方法二: 如何在Pycharm自动调整代码格式? 方法一: 1.打开 Pycharm 2.在最上面工具栏,找到 Code [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EuV12vOH-1653583872826)(C:\Users\15802\AppData\Roaming\Typora\typora-user-images\image-20220527003841855.png)] 3.点击 Reformat

青火 5724

基于STM32F1XX 、HAL库的BH1745NUC-E2环境光传感器驱动应用C语言程序设计

printf("BH1745制造商ID: 0x%02X\r\n", BH1745_ReadManufacturerID(&hbh1745));#define BH1745_ADDR_HIGH 0x39 // ADDR引脚接VDD。#define BH1745_ADDR_LOW 0x38 // ADDR引脚接地。= 0xE0) // BH1745制造商ID为0xE0。// 清除RGBC测量使能位。printf("BH1745初始化失败\r\n");

PP_Cottage的博客 278

【Python_urllib学习笔记(二)】urllib.parse模块的基本用法

此篇文章中介绍urllib库中parse 模块的基本用法,包括查询参数编码、编码后字符串进行解码等。

禾戊之昂的博客 3378

Qt for WebAssembly环境搭建

一、前言 二、Ubuntu 1、在线安装Qt15 在线安装下载器:https://download.qt.io/official_releases/online_installers/ 安装时记得勾选WebAssembly,如下: 2、安装依赖 # Install Python sudo apt-get install python2.7 # Install CMake (optional, only needed for tests and building Binaryen) sudo apt

贝勒里恩的博客 3667

华为OD机试真题2025双机位C卷 Java&Go 实现【卡牌游戏】

小明正在尝试一种新的牌游戏。游戏规则只如下:首先,小明拿到一张写有数字m的牌。 然后,他会拿到另外n张牌,上面分别写有不同的数字,牌排成一排。小明的目标是从这排牌中找到一串连续的牌,这些牌上数字的总和可以被 m整除。你的任务是判断小明是否可以完成这个目标。

MISAYAONE的博客 392

Python argparse模块学习笔记

argparse是python命令行的解析器,用于解析python命令行模式的选项和参数。 使用的基本流程如下 import argparse # 程序实现一个简单的功能,返回x的y次幂 #1、创建一个parser parser = argparse.ArgumentParser() #2、添加参数选项 parser.add_argument("x", help="the base", type=int) parser.add_argument("y", help="the exponent", t

成长路上... 738

【智能流体力学】使用ANSYS Fluent + SpaceClaim + SCDM制作流体力学前处理的几何模型

生成来源.scdoc文件来自前处理工具生成的模型数据,或在 FLUENT 中创建和保存的模型。生成方式: 通过前处理工具导出网格数据,或在 FLUENT 中设置并保存模型。作用: 用于储存模型的结构信息和设置,确保在 FLUENT 中的正确导入和使用。.x_t文件是 Parasolid 文件格式的扩展名,用于存储三维模型数据。在 ANSYS Fluent 中,这种格式通常用于在前处理工具之间交换几何数据。要创建.x_t。

源代码杀手的博客 3265

【转载】Python命令行工具argparse模块学习笔记

Python命令行工具argparse模块学习笔记 本文完全转载自Python命令行工具argparse模块学习笔记,仅用于学习备忘。 argparse模块是在命令行(windows的cmd窗口,Linux的shell)执行程序时,直接在命令行添加程序执行所需参数的便捷工具。 使用步骤: import argparse # 导入模块 parser = argparse.ArgumentParser() # 创建一个解析对象 parser.add_argument() # 向该对象中添加命令行参数和选项

youzhizhe2014的博客 533

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Python命令模块argparse学习笔记(四)

默认参数 ArgumentParser.set_defaults(**kwargs) set_defaults()可以设置一些参数的默认值 >>> parser = argparse.ArgumentParser() >>> parser.add_argument('foo', type=int) >&g...

andiao1218的博客 679

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Python命令模块argparse学习笔记(二)

argparse模块可以设置两种命令参数,一个是位置参数,一个是命令参数 位置参数 import argparse parser = argparse.ArgumentParser(description="The Help of Python") parser.add_argument("name") args = parser.parse_args() ...

andiao1218的博客 184

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python命令模块argparse学习笔记(一)

首先是关于-h/--help参数的设置 description:位于help信息前,可用于描述helpprog:描述help信息中程序的名称epilog:位于help信息后usage:描述程序的用途add_help:默认为True,设为False后,就不能显示help信息了,执行-h/--help将会报错conflict_handler:解决参数冲突prefix_chars:参数前缀,...

andiao1218的博客 198

python argsparse_Python命令模块argparse学习笔记(二)

argparse模块可以设置两种命令参数,一个是位置参数,一个是命令参数位置参数import argparseparser = argparse.ArgumentParser(description="The Help of Python")parser.add_argument("name")args = parser.parse_args()if args.name:print(args.na...

weixin_29433715的博客 462

[Python学习笔记] argparse 模块 - 解析用户通过命令行输入的参数

1. 我们能用 argparse 干什么? argparse模块可以通过命令行的方式获取用户输入的信息,还可以向用户提供帮助信息,当用户输入无效参数时报错。 argparse是通过sys.argv来解析出参数的,两者也可以联合使用。 2. argparse 最最基本的使用模板 import argparse # 第一步,创建ArgumentParse对象 parse = ar...

GYK0812的博客 810

Python学习笔记19:进阶篇(八)常见标准库使用之glob模块和argparse模块

python进阶知识,标准库glob模块以及argparse模块的学习和使用

weixin_48668564的博客 2067

Python学习笔记_使用argparse模块从命令行读取参数

#使用流程: import sys import argparse def cmd():     args = argparse.ArgumentParser(description = 'Personal Information ',epilog = 'Information end ')     #必写属性,第一位     args.add_argument("name", ...

Torero_lch的博客 1464

python raymondh_Python命令模块argparse学习笔记(四)

默认参数ArgumentParser.set_defaults(**kwargs)set_defaults()可以设置一些参数的默认值>>> parser = argparse.ArgumentParser()>>> parser.add_argument('foo', type=int)>>> parser.set_defaults(bar=...

weixin_39862484的博客 323

Python命令模块argparse学习笔记(三)

参数组 ArgumentParser.add_argument_group(title=None, description=None) 默认情况下,当显示帮助消息时,ArgumentParser将命令行参数分组为“位置参数”和“可选参数”。 当比这个默认参数有更好的参数概念分组时,可以使用add_argument_group()方法创建适当的组: &...

andiao1218的博客 498

YAML格式配置文件和agrparse模块的学习

yaml配置文件和agrparse函数学习

2301_77750456的博客 576

python 学习笔记--argparse模块以及parse_known_args()函数

代码test.py:import argparseimport sysparse=argparse.ArgumentParser()parse.add_argument("--learning_rate",type=float,default=0.01,help="initial learining rate")parse.add_argument("--max_steps",type=int,d...

qq_28808697的博客 1965

Python-文件操作-StringIO和BytesIO-路径操作-shutil模块-csv,ini序列化和反序列化-argparse使用-学习笔记

StringIO和ByteslO,路径操作,shutil模块,csv,ini,序列化和反序列化,argparse使用

黄裳博客 790
上一篇: excel如何快速批量翻译单词
下一篇: 为什么网上查到的ip和自己ipconfig出来的不一样?
hacker_G
博客等级 码龄9年 75粉丝 60原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值