argparse 模块 在终端执行脚本文件
1、案例
#1、案例:
import argparse #首先导入模块
parser = argparse.ArgumentParser() #创建一个解析对象
parser.add_argument('-u', '--username', help='username',default='userId') #向该对象中添加你要关注的命令行参数和选项
parser.add_argument('-p', '--password', help='password',default='')
args = parser.parse_args() #进行解析
username=args.username
password=args.password
if __name__ == '__main__':
print(username)
print(password)
2、参数介绍
#1、使用步骤:
(1)import argparse 首先导入模块
(2)parser = argparse.ArgumentParser() 创建一个解析对象
(3)parser.add_argument() 向该对象中添加你要关注的命令行参数和选项
(4)parser.parse_args() 进行解析 #2、argparse.ArgumentParser()方法参数须知:一般我们只选择用description
prog=None #程序名
description=None, #help时显示的开始文字
epilog=None, #help时显示的结尾文字
parents=[], #若与其他参数的一些内容一样,可以继承
formatter_class=argparse.HelpFormatter, #自定义帮助信息的格式
prefix_chars='-', #命令的前缀,默认是‘-’
fromfile_prefix_chars=None, # 命令行参数从文件中读取
argument_default=None, #设置一个全局的选项缺省值,一般每个选项单独设置
conflict_handler='error', #定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常
add_help=True #是否增加-h/--help选项,默认是True) #3、add_argument()方法参数须知:
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest]) (1)name or flags... #必选,指定参数的形式例如 foo 或者 -f, --foo。
(2)action # 命令行遇到参数时的动作,默认值是 store。
store_const#表示赋值为const;
append#将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
append_const#将参数规范中定义的一个值保存到一个列表;
count#存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;
(3)nargs #应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于 Positional argument 使用 default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示 1 或多个参数。
parser.add_argument('ver', nargs = 2, type = int)
(4)const #action 和 nargs 所需要的常量值,用于保存常量值,它们不是从命令行读入但是是ArgumentParser 的动作所要求的
(5)default #不指定参数时的默认值。
(6)type # 指定参数类型,'str' and 'int'
parser.add_argument('--ver', '-v', required = True, type = int)
(7)choices #设置参数的范围,如果choice中的类型不是字符串,要指定type表示该参数能接受的值只能来自某几个值候选值中,除此之外会报错,用choice参数即可
parser.add_argument('--ver', '-v', choices = ['test1', 'test2'])
(8)required #可选参数是否可以省略 (仅针对可选参数)
(9)help #参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息
(10)metavar #默认情况下,对于位置参数直接使用dest的值,对于可选参数则将dest的值变为大写。注意metavar只会改变显示出来的名字parse_args() 对象中属性的名字仍然由dest的值决定。
(11)dest #设置这个选项的value解析出来后放到哪个属性中,对于位置参数的动作,dest 通常作为第一个参数提供给add_argument(),对于可选参数的动作,dest的动作通常从选项字符串推导出来,如:ArgumentParser生成的dest的值是将第一个长的选项字符串前面的–字符串去掉。如果没有提供长选项字符串,dest的获得则是将第一个短选项字符串前面的-字符去掉。任何内部的-将被转换为字符以确保字符串是合法的属性名字。(即对于可选参数,先找长的选项字符串,再找短选项字符串,并且内部的-会被转换为字符)
parser.add_argument('-v', choices = ['test1', 'test2'], dest = 'world')
argparse 模块 在终端执行脚本文件的更多相关文章
- 利用bat批量执行脚本文件
1.读取目录文件 利用bat 的for命令读取中的sql文件 for /r %%c in (0*.sql) do echo %%c %%c 相当于变量 in() 中的为循环的范围 此句的作用是显示当前 ...
- Oracle批量执行脚本文件
以下是Oracle批量执行脚本文件的步骤和方法 1.创建脚本文件(xx.sql): 例如文件CreateTable Create table tb1( id varchar2(30), Name va ...
- Jenkins执行脚本文件
Jenkins执行脚本文件如下(startup.sh): #!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 export JAVA_HOME=/usr/src/java/jdk ...
- Linux下执行脚本文件出现-bash: ./startup.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录
原因:脚本文件是在Windows环境下编辑的,windows环境下,每一行的结尾是\n\r,而Linux环境下,每一行结尾是\n.使用cat -A filename 可以看到每行的结尾后面多出了一 ...
- Jmeter:非 GUI 命令行执行脚本文件
介绍 进行性能测试时,Jmeter 官方文档声明是不建议在 GUI 执行的,此时需要用到命令行. 第一步:环境配置 把 Jmeter安装目录\bin 添加到 系统环境变量path 第二步:命令参数 - ...
- 【转】使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件
原文:https://blog.csdn.net/qq_36622490/article/details/100773589 这个需求主要是我在jenkins中pipeline的代码里,需要使用she ...
- Linux后台执行脚本文件,nohup
看运维人员执行nohup命令后,把程序放在后台执行,很高大上,就研究了一下,这个命令. nohup命令及其输出文件 nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么 ...
- source 命令的用法,是在当前bash环境下执行脚本文件
原文: http://www.cnblogs.com/softwaretesting/archive/2012/02/13/2349550.html source命令用法: source FileNa ...
- linux下使用shell 自动执行脚本文件
以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 文件内容: #将tomcat ...
随机推荐
- Ioc(控制反转)、DI(依赖注入)
一篇非常好的有关控制反转和依赖注入非常不错的文章,简单易通,与大家共同学习,这里只引用了一篇文章,还有很多相关的文章可以通过文章引用地址来看,相信大家看完理解的就比较深刻了 文章摘自:http://j ...
- LA 5009 (HDU 3714) Error Curves (三分)
Error Curves Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu SubmitStatusPr ...
- BZOJ 2792 Poi2012 Well 二分答案
题目大意:给定一个非负整数序列A.每次操作能够选择一个数然后减掉1,要求进行不超过m次操作使得存在一个Ak=0且max{Ai−Ai+1}最小,输出这个最小值以及此时最小的k 二分答案,然后验证的时候首 ...
- C#之正则表达式验证
/** 匹配身份证号 规则: 15位纯数字或者18位纯数字或者17位数字加一位x */ var regex = new System.Text.RegularExpressions.Regex(@&q ...
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐) vs lang ...
- FPGA开发要懂得使用硬件分析仪调试——ILA
0. ILA概述在FPGA开发中,当我们写完代码,进行仿真,确定设计没有问题后,下载到硬件上一般都能按照我们的设计意愿执行相应功能.但这也并非绝对的,有时候你会遇到一些突然情况,比如时序问题或者仿真时 ...
- LINQ操作数组(交集,并集,差集,最值,平均,去重复)
数组是大学里经常拿来做算法练习的对象.一些经典算法非常有价值,考试.装逼.面试都十分有用.但现在是效率时代,编程讲究生产效率,利用LINQ,可以让程序猿避免写一些基本算法,把精力花在业务处理上. 下面 ...
- 解决带fusionCharts的页面多次点击后不显示的问题
问题: 假设不使用公司封装的fusioncharts.使用自己定义的.建议不要使用例如以下方法 使用$(document).ready( 页面载入完之后再载入,会导致多次点击带有fusionchart ...
- IE6下css常见bug处理
1.双倍边距 如下图所示,一个样式里面既设定了“float:left:”又有“margin-left:100px:”的情况,就呈现了双倍情况.如外边距设置为100px, 而左侧则呈现出200px,解决 ...
- Dig HOWTO 中文手册--dig命令使用大全
Dig HOWTO 中文手册--dig命令使用大全 DNS -- 本人翻译的dig howto手册. 译者序: 可以这样说,翻译本篇文档的过程就是我重新学习DNS的过程,dig命令可以帮助我们学习DN ...