argparse用法&try_raise异常的抛出用法

import argparse

parser = argparse.ArgumentParser(usage="checkupv2 shell_script [-n NUM]")
parser.add_argument("-s","--show",action="store_true",default=False,dest='show')
#parser.add_argument('-f','--foo', action='store_const', const=42)

parser.add_argument('-f','--foo', action='store_const',default=0,const=42) ##有没有default=0 默认为None

args = parser.parse_args()
print(args.show)
print(args.foo)

add_argument的参数action用法
action用法固定,表示在命令行 有-s 代表True值,没有-s表示False
action="store_true",default=False

表示在命令行 有-f 代表42值,没有-f表示None
action='store_const', const=42

action用法为开关作用, 命令行后面不跟参数值,  参数值固定

add_argument的参数nargs用法
nargs    - 指定这个参数后面的value有多少个,默认为1
分析:nargs还可以'*'用来表示如果有该位置参数输入的话,之后所有的输入都将作为该位置参数的值;‘+’表示读取至少1个该位置参数。'?'表示该位置参数要么没有,要么就只要一个。(PS:跟正则表达式的符号用途一致。)

try_raise异常的抛出用法


try: ... except...  为被动的抛出异常
raise 为主动的抛出异常
 

class aaa(Exception):   ##自定义一个异常类
    def __init__(self,n):
        self.n=n
    def __str__(self):  ##该 表示print(类)时打印出的信息, 若没有__str__ 则print(类)时打印出实例的内存地址
        return '异常:%s'%self.n

def a():
    #a=9
    #b=a/0
    raise aaa('aaa')
#a()
print("-------------------------")
try:
    a()
except aaa as e:    ###抛出自定义的异常类名称
    print("aaa:",e)
except ZeroDivisionError as e:
    print("ZeroDivisionError:",e)
except Exception as e:
    print("bbb:",e)


得出结果
aaa: 异常:aaa

 

发布了22 篇原创文章 · 获赞 1 · 访问量 2092
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览