参数管理 - argparse、yaml

本文介绍了Python的argparse模块,用于命令行选项、参数和子命令解析。通过示例详细展示了如何定义必写属性和可选属性,包括设置默认值、范围限制等。同时,给出了两个实际应用示例,演示了如何处理命令行输入并输出结果。
摘要由CSDN通过智能技术生成

argparse

分为 必写属性 可选属性

可以设置默认值 范围 等等,e.g., 默认为0,范围必须在0~150

example 1

import argparse

# https://zhuanlan.zhihu.com/p/34395749

def cmd():
    args = argparse.ArgumentParser(description = 'Personal Information ',epilog = 'Information end ')
    #必写属性,第一位
    args.add_argument("name",         type = str,                  help = "Your name")
    #必写属性,第二位
    args.add_argument("birth",        type = str,                  help = "birthday")
    #可选属性,默认为None
    args.add_argument("-r",'--race',  type = str, dest = "race",   help = u"民族")
    #可选属性,默认为0,范围必须在0~150
    args.add_argument("-a", "--age",  type = int, dest = "age",    help = "Your age",         default = 0,      choices=range(150))
    #可选属性,默认为male
    args.add_argument('-s',"--sex",   type = str, dest = "sex",    help = 'Your sex',         default = 'male', choices=['male', 'female'])
    #可选属性,默认为None,-p后可接多个参数
    args.add_argument("-p","--parent",type = str, dest = 'parent', help = "Your parent",      default = "None", nargs = '*')
    #可选属性,默认为None,-o后可接多个参数
    args.add_argument("-o","--other", type = str, dest = 'other',  help = "other Information",required = False,nargs = '*')

    args = args.parse_args() #返回一个命名空间,如果想要使用变量,可用args.attr
    print("argparse.args=",args,type(args))
    print('name = %s'%args.name)
    d = args.__dict__
    for key,value in d.items():
        print('%s = %s'%(key,value))

if __name__=="__main__":
    cmd()
python args1.py ltt 1996

argparse.args= Namespace(age=0, birth='1996', name='ltt', other=None, parent='None', race=None, sex='male') <class 'argparse.Namespace'>

name = ltt

name = ltt
birth = 1996
race = None
age = 0
sex = male
parent = None
other = None

example 2 

import argparse

# https://www.jianshu.com/p/b8b09084bd1a

parser = argparse.ArgumentParser()

parser.add_argument("--echo", type=str, help="echo the string you use here")
parser.add_argument("--square", type=int, help="display a square of a given number")
args = parser.parse_args()

print(args.echo)
print(args.square**2)
python args2.py --echo ok --square 6

ok
36

yaml

refer to PC-GNN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值