python内置模块argparse的使用
该模块可以理解为是参数剖析器,作用是可以不用打开pycharm,直接使用命令行来测试我们的代码:
传入一个参数
1.pre_work:先在文件夹里创建一个argparse_prac文件
demo.py里面的代码(附有详细解析):
#传入一个参数
import argparse
#ArgumentParser是参数解析器,下面这条语句是最前提的,作用是声明解析器,括号里面的description是在参数文档之前出现的文本
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#add_argument()超级重要的函数,下面表示第一个出现的参数为位置参数,传给integers,type是要传入的参数的数据类型 help是该参数的提示信息
parser.add_argument('integers', type=str, help='传入的数字')
#可获得所有参数
args = parser.parse_args()
#获得传入的参数
print(args)
2.options:打开CMD,将工作台目录切换到argparse_prac文件所在的D盘,再写指令
切换工作台完毕
写指令
回车后得到运行结果
将29赋值给integers
现在变量integers的值为29,我们也可以通过命令行读出这个变量的值,修改python代码如下:
#传入一个参数
import argparse
#ArgumentParser是参数解析器,下面这条语句是最前提的,作用是声明解析器,括号里面的description是在参数文档之前出现的文本
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#add_argument()超级重要的函数,下面表示第一个出现的参数为位置参数,传给integers,type是要传入的参数的数据类型 help是该参数的提示信息
parser.add_argument('integers', type=str, help='传入的数字')
#可获得所有参数
args = parser.parse_args()
#获得传入的参数
print(args.integers)
输入同上
得到运行结果为
传入多个参数
python代码:
import argparse
#ArgumentParser是参数解析器,下面这条语句是最前提的,作用是声明解析器,括号里面的description是在参数文档之前出现的文本
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#add_argument()超级重要的函数,下面表示第一个出现的参数为位置参数,传给integers,type是要传入的参数的数据类型 help是该参数的提示信息 nargs设为+的意思是至少一个参数
parser.add_argument('integers',type=str,nargs="+",help='传入的数字')
#可获得所有参数
args = parser.parse_args()
#获得传入的参数
print(args.integers)
输入及运行结果
改变数字类型
python代码:
import argparse
#ArgumentParser是参数解析器,下面这条语句是最前提的,作用是声明解析器,括号里面的description是在参数文档之前出现的文本
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#add_argument()超级重要的函数,下面表示第一个出现的参数为位置参数,传给integers,type是要传入的参数的数据类型 help是该参数的提示信息
parser.add_argument('integers',type=int,nargs="+", help='传入的数字')
#可获得所有参数
args = parser.parse_args()
#获得传入的参数
print(sum(args.integers))
输入及运行结果:
位置参数
python代码:
import argparse
parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('param1', type=str,help='姓')
parser.add_argument('param2', type=str,help='名')
args = parser.parse_args()
#打印姓名
print(args.param1+args.param2)
输入及运行结果
可选参数
python代码:
import argparse
parser = argparse.ArgumentParser(description='姓名')
#可选参数需要--来标识,在传递参数的时候也需要用这个
parser.add_argument('--param1', type=str,help='姓')
parser.add_argument('--param2', type=str,help='名')
args = parser.parse_args()
#打印姓名
print(args.param1+args.param2)
输入及运行结果
默认值
python代码:
import argparse
parser = argparse.ArgumentParser(description='姓名')
#可选参数需要--来标识,在传递参数的时候也需要用这个
parser.add_argument('--param1', type=str,default='林',help='姓')
parser.add_argument('--param2', type=str,default='港',help='名')
args = parser.parse_args()
#打印姓名
print(args.param1+args.param2)
输入及运行结果
必需参数
python代码:
import argparse
parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--param1', type=str,required=True, default='',help='姓')
parser.add_argument('--param2', type=str,default='',help='名')
args = parser.parse_args()
#打印姓名
print(args.param1+args.param2)
输入及运行结果