设为首页 收藏本站
查看: 634|回复: 0

[经验分享] 两个月学习Python的胡言乱语

[复制链接]

尚未签到

发表于 2015-11-29 09:08:44 | 显示全部楼层 |阅读模式

  露珠是一名爱好养花的测试员,熟悉python,减少了很多重复性的工作。扯一扯这两个月的学习总结:

基础
  语法,数据结构什么的翻一遍手册足够了,用到的时候不会了再查,相信只有你想不到的没有python不支持的(此处忽略老牛)。

文件
  嘛,作为一名测试,起初最需要用到的就是python的文件操作,各种读写文件,分析数据神马的。。这里需要用到的就是python file操作、以及各种数据结构的用法了,比如List,dict 等等,,至于后台数据生成的文件,大多是json啦,excel啦,cpickle啦,这些都有现成的库支持。

  比如, json的用法

import json


#data获取到的是一个dict或者list结构的数据

data = json.load(open(filename, 'r'))

#将dict dump进一个文件,存储格式为json格式

json.dump({'x':1, 'y':2}, open(filename, 'w'))

  其他的类似。。

异常处理
  在文件读写或数据分析时,经常会因为各种原因导致程序不能正常运行,比如,json文件可能由其他语言生成,空数据是null,但python中没有null,只有'',这个时候数据分析就会出现异常,但是大多情况下,我们一条或几条数据的异常并不影响我们的结果,所以,我们需要对这些异常进行捕获。

try:

except Exception:

  可以帮助你跳过这些异常,即便这样了,或许你需要有个Log来记录下这些异常,不影响结果但可能需要了解出现了哪些异常,露珠用了logging module来生成log,python的log module有很多种, ^_^ 功能强不强大不要紧,够用就行。

  这些只是对程序已知可能出现的异常进行了处理,但往往,最头疼的是程序中不可知的一些异常,导致程序崩溃,甚至崩溃时不留下一点痕迹,嘛,露珠在自己电脑上跑了个文件解析的程序,跑了24h+,突然就崩溃了,,哭了,好在最后各种办法查到了崩溃的位置,然后更改下代码接着跑,更改之后再也不怕它崩溃了 ^_^。

  用到的方法就是:atexit。用法:

import @atexit.register

def atexit_fun():

    ##

    do_my_work()

  在程序崩溃退出前做好善后工作,以防措手不及 ^_^。

资源分配
  露珠的这个文件分析程序,之所以跑了那么那么久,一开始露珠也不知道瓶颈在哪,不过通过profile工具,就能很方便的看到程序运行时资源的分配(嘛,这里要说下,分析资源分配时只用少部分数据即可,不需要跑一天一夜)。至于profile具体用法,自行百度哦 ^_^。。

  有些时候,多线程可能会对程序的执行效率有所改善。Python自带有thread库,但是注意线程安全哦,python的原生数据结构都不是线程安全的,需要搭配thread.lock使用。这里python threading.thread露珠需要提醒下童鞋们,threading.thread重写了run()方法,但是调动线程用的是start()方法,反正我是犯2了 =O=

以上说的是作为一名测试开发会用到的技能,下面扯一扯测试人员需要的技能:

单元测试
这里露珠用的unittest,还有个库叫做coverage,是做代码覆盖率统计测试的,具体用法百度哦 ^_^,见谅见谅~~

测试中,不同的项目或者功能需要我们安装不同版本的库,如果在一台机子上一直这么搞的话,估计要疯了,露珠推荐virtualenv,一个虚拟的python环境,在虚拟环境中所安装的库不会影响本地,虚拟环境可以搭多个,用完删掉虚拟环境即可。

  两个月的学习大体就这些了 ^_^,露珠第一次写博文,有帮助给赞哦,另外,有错误的地方请指正 ^_^~~


  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-144788-1-1.html 上篇帖子: Python字符串基础一 下篇帖子: python学习笔记:"爬虫+有道词典"实现一个简单的英译汉程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表