成都有哪些做网站开发的大公司,网站代理最快最干净,网站开发项目总结报告,专业的网站开发团队argparse模块
argparse是python用于解析命令行参数和选项的标准模块#xff0c;用于代替已经过时的optparse模块
使用步骤 import argparse # 1 导入模块#xff0c;这个没什么说的 parser argparse.ArgumentParser() # 2 实例化一个对象#xff0c;默认参数一堆#…argparse模块
argparse是python用于解析命令行参数和选项的标准模块用于代替已经过时的optparse模块
使用步骤 import argparse # 1 导入模块这个没什么说的 parser argparse.ArgumentParser() # 2 实例化一个对象默认参数一堆只有description参数可以设置一下 parser.add_argument() # 3 一次加入每一个参数或选项主要是这里 parser.parse_args() # 4 获取参数用的时候给他赋个值 1添加位置参数
import argparse#位置参数
def test01():# 先不添加参数parser argparse.ArgumentParser(description解析命令行参数)args parser.parse_args()# 打印一下所有参数print(args)
上面的例子运行后由于没有添加任何参数所以看不出什么。不过可以加上-h 或 --help 运行一下会显示我们自定义的description的内容以及默认的help的内容 运行结果
命令行运行结果
2 添加参数说明
def test02():# 这里的关键参数去掉了看看和刚才比缺少了什么parser argparse.ArgumentParser()parser.add_argument(echo) # 添加一个位置参数args parser.parse_args()print(args.echo) # 获取参数打印出来print(args) # 看看整个的内容
if __name__ __main__:test02()
此时再运行程序会提示你缺少参数。必须带上一个参数运行比如test.py arg_test。并且后面的参数只能是1个就是不能多也不能少。
运行结果
命令行运行结果
3 设置参数的数据类型
def test03():parser argparse.ArgumentParser(description解析命令行参数)parser.add_argument(echo, help直接打印这个参数的值, typeint)args parser.parse_args()print(args.echo, type(args.echo)) # 获取参数打印出来print(args) # 看看整个的内容
if __name__ __main__:test03()
运行结果
命令行运行结果 4 使用文件作为参数
#使用文件作为参数
def test04():parser argparse.ArgumentParser()parser.add_argument(file, typeargparse.FileType(r)) # 读取文件args parser.parse_args()# 打印文件内容for line in args.file:print(line.strip())
if __name__ __main__:test04() 命令行运行结果
5 定义默认值 从刚才开始必须要带参数才能运行程序了可以通过设置默认值来解决不带参数启动的问题 命令行运行结果
6 参数候选值
使用choise关键参数可以限定这个参数的值必须在候选的列表内。
def test06():parser argparse.ArgumentParser(description解析命令行参数)parser.add_argument(echo, choices[a, b, c], defaulta, nargs?)args parser.parse_args()print(args.echo, type(args.echo)) # 获取参数打印出来print(args) # 看看整个的内容
if __name__ __main__:test06()
这样只有输入正确才能正常执行这里注意如果有default那么default的值也得再候选值之中。
7 选项参数
像-h 和 --help 一样也可以设置自己的选项参数。设置的时候短参数和长参数可以值设置一个如果没有冲突的话建议都写上。另外上面讲过的那些关键参数比如说明、默认值、候选值都可以使用
#选项参数
def test07():parser argparse.ArgumentParser(description解析命令行参数)parser.add_argument(-v, --verbose, helpincrease verbosity)args parser.parse_args()print(args.verbose, type(args.verbose)) # 获取参数打印出来print(args) # 看看整个的内容
if __name__ __main__:test07()
如果有长参数取值的时候就是使用长参数的名字取值。只有短参数的情况下才是用短参数的名字取值。当然也可以指定一个别的变量名。 和位置参数相反选项参数默认是非必须。不输入选项的情况下取到的值是None输入选项但是又没在后面写值而且也没默认值则会出错。 如果需要也可以将选项设置为必须输入。
运行结果 命令行运行结果
8 指定选项参数的默认名
使用requiredTrue 后这个选项就不再是可选的了而是必须输入
#指定选项参数的变量名
def test08():parser argparse.ArgumentParser(description解析命令行参数)parser.add_argument(-v, --verbose, helpincrease verbosity,destver,requiredTrue) # 用dest来指定变量名args parser.parse_args()print(args.ver, type(args.ver)) # 获取参数打印出来。这里的变量名是自己在dest里指定的了print(args) # 看看整个的内容
if __name__ __main__:test08() 参考自https://www.imooc.com/article/34047