python学习--argparse的用法

参考:

  • argparse基本用法
  • argparse简要用法总结
##argparse 是python自带的命令行参数解析包,可以用来方便的读取命令行参数。
# 当你的代码需要频繁的修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广。它的使用也比较简单。
# argparse是一个全面的参数处理库。。参数可以触发不同的动作,动作由add_argument() 方法的action参数指定。支持的动作包括保存参数(逐个地,或者作为列表的一部分),当解析到某参数时保存一个常量值(包括对布尔开关真/假值的特殊处理),统计某个参数出现的次数,以及调用一个回调函数。
# 默认的动作是保存参数值。。在这种情况下,如果提供一个类型,,那么存储之前会先把该数值转换成该类型。。如果提供dest参数,参数值就保存为命令行参数解析时返回的命名空间对象中名为该dest参数值的一个属性。
# 下面采用argparse从命令行获取用户名
import argparse

def main():
    # argparse包中的ArgumentParse类生成一个parse对象,
    # 其中的description 描述这个参数解析器是干什么的,当我们在命令行显示帮助信息的时候会看到description描述的信息
    parser = argparse.ArgumentParser(description="argparse学习")
    # 通过对象的 add_argument 函数来增加参数。这里我们增加了两个参数name和age,,
    # 其中'-n','--name'表示同一个参数,default 参数表示我们在运行命令时若没有提供参数,程序会将此值当作参数值
    parser.add_argument('-n','--name',default='Dang')
    parser.add_argument('-age','--age',default='25')
    # 采用对象的 parse_args获取解析的参数。由运行结果可知,Namespace中有两个属性(也叫成员),
    # 这里要注意:当‘-’和‘--’同时出现时,系统默认后者为参数名,前者不是,但是在命令行输入时没有这个区分。
    args = parser.parse_args()
    print(args) #打印参数信息
    name = args.name
    age = args.age
    print("Hello {} {}".format(name, age))

if __name__ == '__main__':
    main()

运行结果:
在这里插入图片描述

你可能感兴趣的:(Python)