兩個月學習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環境,在虛擬環境中所安裝的庫不會影響本地,虛擬環境可以搭多個,用完刪掉虛擬環境即可。

  兩個月的學習大體就這些了 ^_^,露珠第一次寫博文,有幫助給贊哦,另外,有錯誤的地方請指正 ^_^~~

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM