fileinput模塊可以遍歷文本文件的所有行.它的工作方式和readlines很類似,不同點在于,它不是將全部的行讀到列表中而是創建了一個xreadlines對象.下面是fileinput模塊中的常用函數input()#它會返回能夠用于for循環遍歷的對象.filename()#返回當前文件的名稱lineno()#返回當前(累計)的行數filelineno()#返回當前文件的行數isfirstline()#檢查當前行是否是文件的第一行復制代碼代碼如下:#
系統 2019-09-27 17:46:52 1764
通俗的來說,Python中所謂的命名空間可以理解為一個容器。在這個容器中可以裝許多標識符。不同容器中的同名的標識符是不會相互沖突的。理解python的命名空間需要掌握三條規則:第一,賦值(包括顯式賦值和隱式賦值)產生標識符,賦值的地點決定標識符所處的命名空間。第二,函數定義(包括def和lambda)產生新的命名空間。第三,python搜索一個標識符的順序是"LEGB"。所謂的"LEGB"是python中四層命名空間的英文名字首字母的縮寫。最里面的一層是L
系統 2019-09-27 17:46:43 1764
多線程類似于同時執行多個不同程序,多線程運行有如下優點:使用線程可以把占據長時間的程序中的任務放到后臺去處理。用戶界面可以更加吸引人,比如用戶點擊了一個按鈕去觸發某些事件的處理,可以彈出一個進度條來顯示處理的進度。程序的運行速度可能加快。在一些等待的任務實現上如用戶輸入、文件讀寫和網絡收發數據等,線程就比較有用了。在這種情況下我們可以釋放一些珍貴的資源如內存占用等等。每個獨立的線程有一個程序運行的入口、順序執行序列和程序的出口。但是線程不能夠獨立執行,必須
系統 2019-09-27 17:46:37 1764
在帶有參數的的函數進行裝飾時defpri(func):defone(*a,**b):#這里要帶參func(*a,**b)#這里也要帶參returnone@prideftest(*a,**b):#不定長參數print(a,b)test(1,2,a=2)對有返回值的函數進行裝飾時defpri(func):defone():returnfunc()#要將func()返回returnone@prideftest():returnTrueprint(test())帶
系統 2019-09-27 17:46:29 1764
今天想用python做個demo,含兩個子圖的動態gif,代碼如下:importmatplotlib.pyplotaspltimportimageio,osimportmatplotlib#plt.ion()fig=plt.figure(0)ax1=plt.subplot(121)ax2=plt.subplot(122)ax1.set_title('input')ax2.set_title('GT')foriinrange(1000):img1=plt.i
系統 2019-09-27 17:46:22 1764
接口設計一個應用寫出來最終是要給人使用的,哪怕只是給你自己使用。所以,首先應該想想你希望怎么使用它?讓我們先給這個小應用起個名字吧,既然及查詢票務信息,那就叫它tickets好了。我們希望用戶只要輸入出發站,到達站以及日期就讓就能獲得想要的信息,所以tickets應該這樣被使用:$ticketsfromtodate另外,火車有各種類型,高鐵、動車、特快、快速和直達,我們希望可以提供選項只查詢特定的一種或幾種的火車,所以,我們應該有下面這些選項:-g高鐵-d
系統 2019-09-27 17:46:17 1764
Python的MySQLdb模塊是Python連接MySQL的一個模塊,默認查詢結果返回是tuple類型,只能通過0,1..等索引下標訪問數據默認連接數據庫:復制代碼代碼如下:MySQLdb.connect(host=host,user=user,passwd=passwd,db=db,port=port,charset='utf8')查詢數據:復制代碼代碼如下:cur=conn.cursor()cur.execute('selectb_idfromblo
系統 2019-09-27 17:46:17 1764
最近學習python的時候發現python2的版本和python3的版本不兼容,python2使用的版本只是開發者還在維護,python3的版本性能會更好,使用的人也更多,所以還是選擇將python升級到3.x版本。本人使用的是macos的系統,系統版本是10.13.6,首先查看一下系統自帶的python版本。~python-V顯示python的版本是Python2.7.10下面使用升級操作~brewupdatepython...最近學習python的時候
系統 2019-09-27 17:46:10 1764
時隔已久,再次冒煙,自動化測試工作仍在繼續,自動化測試中的數據驅動技術尤為重要,不然咋去實現數據分離呢,對吧,這里就簡單介紹下與傳統unittest自動化測試框架匹配的DDT數據驅動技術。話不多說,先擼一波源碼,其實整體代碼并不多#-*-coding:utf-8-*-#ThisfileisapartofDDT(https://github.com/txels/ddt)#Copyright2012-2015CarlesBarrobésandDDTcontri
系統 2019-09-27 17:46:08 1764
在做接口測試的時候,我們經常會遇到一種情況就是要對接口的參數進行各種可能的校驗,手動修改很麻煩,尤其是那些接口參數有幾十個甚至更多的,有沒有一種方法可以批量的對指定參數做生成處理呢。答案是肯定的!python的jinja2模板庫可以很好的滿足我們的需求,通過維護一個原始數據模板,將我們想要動態生成的變量模板化,就可以實現需求。現在我們有這樣的一個請求數據{"abc":"123","p2p":"123","smid":"20180807220733939b6
系統 2019-09-27 17:46:03 1764