python argparse基本用法

2019-08-14  本文已影响0人  习惯了千姿百态
import argparse

# 定义一个argparse
parser = argparse.ArgumentParser(description="argparse的基本用法")

# 定义positional参数,username,str类型
parser.add_argument("username", type=str, help="用户名参数")

# 定义positional参数,gender,str类型,但是输入只能是m/f,否则报错
parser.add_argument("gender", type=str, choices=['m', 'f'], help="性别参数")

# 定义optional参数,age,int类型,默认值为0(有的参数最好得设置默认值,否则报错!)
parser.add_argument("-a", "--age", type=int, default=0, help="年龄参数")

# 定义optional 参数,action="store_true"的意思是,命令行使用了--f/--flag,则这个参数值为True,否则为False
parser.add_argument("-f", "--flag", action="store_true", help="控制是否打印信息")

# 对这些参数进行了parse,这样就可以使用args.x,来获取参数x的值
args = parser.parse_args()
if args.flag:
    print("用户名:{}\t性别:{}\t年龄:{}".format(args.username, args.gender, args.age))
else:
    # 如果之前的age不设置默认值,命令行中没有指定age的值,则为None,这里报错!
    if args.age >= 18:
        print("年龄大于18!年龄为{}".format(args.age))
    else:
        print("年龄小于18,不打印信息!")
python parseTest.py -h 指定-a 这里不能指定flag的值

其他的自己换换输入,改改代码试试看吧~~

参考资料:argparser模块学习

上一篇下一篇

猜你喜欢

热点阅读