导读
今天学了一招很有意思的,乘热打铁分享一波!
更详细的说是关于python的异常处理的应用,实现一个手误输错也能被原谅的功能,非常好用和有趣哦 >_<
一、异常和异常处理
为了能够对接下来的要完成的事情有个更清晰的认识,我们需要先了解几个概念。
第一,什么是异常。异常就是一个事件,该事件在程序执行过程中发生,影响了程序的正常执行。
打个不恰当的比喻就是,当你在泡妞的时候,突然有个傻雕过来说你有口臭,老是放臭屁,直接让你无法正常泡妞。
第二,什么异常处理,为了解决当出现异常时,我们不希望我们的程序挂掉,而进行的一些操作。
而异常处理就是类似于在你知道这个倒霉蛋来的时候,肯定没有好话,你提前预知到要发生,反手就是给他一巴掌,然后让他好好说话,最后事情就朝着好的方向发展了。
二、异常处理的小应用
我们经常会遇到比如需要输入密码,当你输错密码的时候,你不希望退出这个系统,而是重新输入密码;又或者是要读取一张图片,但是有时候手误打错路径,你不想让整个代码重头再运行一次,为了让代码能够识别你输错并允许你重新输入,直到你最终正确输入路径。
'''实现手动输入地址,并读取图片'''import matplotlib.image as mpimg #用于读取图片path = imput('请输入路径:')src = mpimg.imread(path)
###结果输出:请输入路径:xxx(乱输)FileNotFoundError: [Errno 2] No such file or directory: 'xxx'
这种情况下,地址输错,代码直接停掉,并不是我们想要的
那我们如何解决呢?
思路:
(1)找到可能出错的地方,进行检测判断;
(2)当输入正确时,直接执行下一步操作;
(3)当输入错误时,重新执行,直到正确。
# 导入必须要的库,一个是读取图片一个是显示图片import matplotlib.image as mpimgimport matplotlib.pyplot as plt# (1)对可能出错的地方,设置异常处理def url_is_correct(): try: #(2)当输入正确时,直接执行下一步操作; url = input('请输入正确的图片路径:') queryDir = url src = mpimg.imread(queryDir) return queryDir except: print('有误的图片路径,请重新输入:') return url_is_correct() # (3)当输入错误时,重新执行,直到正确。
queryDir = url_is_correct()queryImg = mpimg.imread(queryDir)plt.imshow(queryImg,cmap=plt.cm.gray)plt.show()
完整代码:https://github.com/DWCTOD/AI_study/blob/master/06-yichangchuli
三、效果展示
使用系统自带的录屏软件操作一遍吧,让大家看的更加清晰:
难受啊,不知道为什么显示的图片有问题,这个录屏软件有毒,自己电脑上面看的没事的!!!以后再研究一哈。
这里只是简单的演示了一个有趣的功能,对于异常处理,自己也学的不够深,以后有机会的话,继续研究一哈!