findall
python
search
正则表达式
match
网络
ret =re.math("\d+","324ajfldksj")
ret = re.search("^\d+","324ajfldksj")
print(ret.goup())
(?:正则表达式) 表示取消优先显示功能
异常出现以后,程序就不继续执行了code
基本语法:对象
try:索引
execpt 异常类型:ip
try中一旦检测到异常,就会执行execpt下的代码块资源
try: f = open("a.txt") g = (line.strip() for line in f) print(next(g)) print(next(g)) print(next(g)) print(next(g)) except StopIteration: f.close() #当print(next(g)读完后,下一句print(next(g))就会报错, # 而后触发except语句,执行f.close() l = ['登录','注册'] try: num = int(input('num : ')) print(l[num - 1]) except (ValueError,IndexError): #能够将错误类型写在一块儿 print('输入了错误的内容')
多分支input
l = ['登录','注册'] try: num = int(input('num : ')) print(l[num - 1]) except ValueError: print('输入了错误的内容') except IndexError: print('您输入的内容不在范围内') #利用多分支,执行不一样错误后的不一样语句
万能异常 (慎用)尽可能不要直接用来处理错误it
try: int("sfh") except Exception: print("异常啦") #异常啦 即遇到错误就执行万能异常
l = ['登录','注册'] try: num = int(input('num : ')) print(l[num - 1]) except (ValueError,IndexError): print('输入了错误的内容') except Exception as e: print(e)
else 与for else语句类型类似,for语句中不能被打断,不然不会执行else语句
try: pass #发邮件的逻辑 except 错误类型: print("执行某个处理") else: pass #汇报这段代码执行完了:才能执行else语句
finallly 不管如何都要执行,
应用场景:收尾工做,打开一个文件,占用一个网络资源,打开了一个文件,执行完后或者出现错误,都须要进行关闭文件,这时候finally就完美作到这点
# try: # f = open('content') # name #碰见错误 # finally: # f.close() #不管如何都会执行 # print('closed')
raise 主动触发异常
try: raise TypeError("类型错误") except Exception as e: print(e)
自定义异常
class EvaException(BaseException): def __init__(self,msg): self.msg=msg def __str__(self): return self.msg try: raise EvaException('类型错误') except EvaException as e: print(e)
断言
assert 1 == 1 #知足条件才执行 print('*'*100) assert 1 == 2 print('*'*100)