python学习笔记(十)错误处理、Matplotlib绘图示例

由于python是弱类型的语言,所以在进行编程时,极易产生各类类型不符的错误,虽然大部分可以在编写中检查出来,但是一些隐蔽错误很容易在运行期影响软件的安全。因此这里介绍try的用法,用于能处理错误的情况不致程序崩溃。在文末给出一个使用Matplotlib的实例。

开始

try的作用

try是一个语言机制,它可以捕获在运行过程中产生的错误,并且将错误返回,供程序对错误进行处理。其用法如下:

try:
#需要检错的语句块
except #错误类型:
#错误处理语句块
finally:
#无误后执行的语句

常遇到的错误类型有:TypeError,IndexError,IOError等。更多错误类型见:https://docs.python.org/2/library/exceptions.html#exception-hierarchy

错误处理与错误预防有一定的区别。比如在进行文件打开时,通常需要判断文件是否打开,如果没打开进行报错,这种属于错误预防,没有捕获错误信息。使用捕获错误的方法,可以在不知道哪里写错的时候,避开错误部分继续执行。

例子

昨天在http://blog.csdn.net/u011602557/article/details/70941809中遇到了错误,使用try避开错误,最后发现是编码错误。(参考:http://www.crifan.com/unicodeencodeerror_gbk_codec_can_not_encode_character_in_position_illegal_multibyte_sequence/
将数据成功爬下来之后,使用了Matplotlib进行绘图。


    def draw_scatter(self,it1,it2):
        X = []
        Y = []
        for it in self.__data_dict:
            x = y = 0
            try:
                x = int(self.__data_dict[it][it1])
                y = int(self.__data_dict[it][it2])
            finally:
                if x>100 and y>100:
                    X.append(x)
                    Y.append(y)
        from pylab import *
        scatter(X,Y,30)
        plt.xlabel(it1)
        plt.ylabel(it2)
        show()
        imshow(img)

结果如下:
这里写图片描述
之后,想用各个角色的头像代替圆点,但是在Matplotlib中没有找到相关函数。于是自己用opencv实现了一个简单的绘图功能,结果如下:
这里写图片描述
具体代码明天会上传到github。

参考资料:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832284796780f5db7b5744bf9989f8d845ef77712000
因编码安装UnicodeDecodeError问题:https://www.douban.com/note/521708832/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值