天天看点

学会这招再也不怕手误让代码崩掉

导读

今天学了一招很有意思的,乘热打铁分享一波!

更详细的说是关于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 mpimg    
import 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​​

三、效果展示

使用系统自带的录屏软件操作一遍吧,让大家看的更加清晰:

学会这招再也不怕手误让代码崩掉

难受啊,不知道为什么显示的图片有问题,这个录屏软件有毒,自己电脑上面看的没事的!!!以后再研究一哈。

这里只是简单的演示了一个有趣的功能,对于异常处理,自己也学的不够深,以后有机会的话,继续研究一哈!