兩個月學習Python的胡言亂語

來源:互聯網
上載者:User

標籤:

 

  露珠是一名愛好養花的測試員,熟悉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環境,在虛擬環境中所安裝的庫不會影響本地,虛擬環境可以搭多個,用完刪掉虛擬環境即可。

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

 

 

兩個月學習Python的胡言亂語

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.