zoukankan      html  css  js  c++  java
  • 两个月学习Python的胡言乱语

     

      露珠是一名爱好养花的测试员,熟悉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环境,在虚拟环境中所安装的库不会影响本地,虚拟环境可以搭多个,用完删掉虚拟环境即可。

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

     

  • 相关阅读:
    HDU 5486 Difference of Clustering 图论
    HDU 5481 Desiderium 动态规划
    hdu 5480 Conturbatio 线段树 单点更新,区间查询最小值
    HDU 5478 Can you find it 随机化 数学
    HDU 5477 A Sweet Journey 水题
    HDU 5476 Explore Track of Point 数学平几
    HDU 5475 An easy problem 线段树
    ZOJ 3829 Known Notation 贪心
    ZOJ 3827 Information Entropy 水题
    zoj 3823 Excavator Contest 构造
  • 原文地址:https://www.cnblogs.com/xuele/p/4387910.html
Copyright © 2011-2022 走看看