前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次python脚本的编写过程

记一次python脚本的编写过程

作者头像
小小科
发布2018-05-04 17:14:10
9530
发布2018-05-04 17:14:10
举报
文章被收录于专栏:北京马哥教育北京马哥教育

因工作需求要写一个python脚本,来测试memcache服务器。

因为第一次写python脚本在线上运行,所以不敢大意。而又因为我自己看着python教程自学了一点python知识就赶脚自己能写出来。。。。

结果花了四五个小时愣是没写出来。

第一回合

因为要测试memcache服务就直接用python的memcache插件python-memcached。

直接yum安装:

安装好之后来测试下:

测试成功连接到memcached,但是如果当memcache出现故障时该如何获得错误信息呢?

这是我在那天下午一直纠结的问题。

然后通过help(memecache)帮助查看memcache文档信息,查找到有个方法可以获得memcache的状态信息——get_stats()。

然后脚本版本一就出炉了:

脚本出来,很简单,可是用了很长时间。

这个只能判断出host或端口出错的时候,对于连接超时的现象却没有很好的显示出来,对于host或者port那个方面出问题了也没有很好的区分。

问题有了脚本写的还是不行的,然后又开始谷歌、百度等等一系列的搜索。

最后,同事给提供一个python的memcache插件——umemcached 。

第二回合

开始开安装umemcache 下载地址:

如果报错的话,直接yum install python-devel就行了。 安装完成后先来测试一下

这个umemcache插件返回的错误信息要好的多,只要把这些错误信息过滤一下就行了、

这就要用到python的异常处理了,然后又开始了新一轮的谷歌、百度并查到了python的try except处理异常的模块。

try except模块可以捕捉到异常,可是异常信息总是获取不到,本以为让脚本结果返回到日志就行了,可是测试结果python脚本直接打印出失败信息,不会通过重定向到文件中。

下面是脚本和测试

脚本执行后如果服务器端有错误会直接跳出来。

以上是错误信息。 然后又一次查询如何获得异常信息,最后还搞了自定义异常等等,就这样一下午的时光没了……

第三回合

问题一直拖到了第二天上午。

自己实在是搞不出来,但还是不甘心,第一次写python脚本就是这样的结果,也太衰了吧!

所以就又开始搞这个脚本,找一下有关python处理异常的文章,真不巧看一篇文章是有关介绍python异常模块!

一边看一边试,突然看到可以把异常写到文件中,这回可好了,总算把问题给解决了,这里放一个图片从那个文章中截取的。

从这个脚本中我看到了希望! 然后我的脚本就变成这样:

只要处理message这个变量就行了,然后就开始给脚本升级再加些代码让它处理一下返回信息,写到日志中。

最后脚本最终版本是:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档