簡(jiǎn)介江湖有言:”代碼寫死一時(shí)爽,框架重構(gòu)火葬場(chǎng)“,更有人戲言:”代碼動(dòng)態(tài)一時(shí)爽,一直動(dòng)態(tài)一直爽“,雖然聽起來有點(diǎn)聳人聽聞,但也沒有想象中的那么嚴(yán)重,我們?cè)陂_發(fā)寫代碼的時(shí)候留心和注意就可以了。為了重構(gòu)時(shí),少掉些頭發(fā),在開發(fā)的時(shí)候就得注意了。寫死代碼后,有變動(dòng)后出現(xiàn)bug后我們的反應(yīng)大佬和菜鳥對(duì)遺留寫死代碼的反應(yīng)最后和宏哥一起膜拜一下能夠重構(gòu)寫死代碼的大牛是不是有宏哥的風(fēng)范啊閑話少說,進(jìn)入今天的主題:PageObject+unittest。問題思考前面我們都是
系統(tǒng) 2019-09-27 17:54:46 2074
網(wǎng)上有許多方法提到要用append或者loc直接賦值,但是我運(yùn)行發(fā)現(xiàn)都不行,不知道為啥。我是想把原dataframe中的幾行提出來放到新的dataframe中。方法如下:#按照原dataframe的列標(biāo)題創(chuàng)建新的dataframeNewDataFrame=pd.DataFrame(columns=OriginalDataFrame.columns.values)#i為要提取的行號(hào)row=OriginalDataFrame.loc[[i]]frames=[N
系統(tǒng) 2019-09-27 17:54:37 2074
本文實(shí)例總結(jié)了Python實(shí)現(xiàn)list反轉(zhuǎn)的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:下面有幾個(gè)不同實(shí)現(xiàn)的函數(shù)復(fù)制代碼代碼如下:importmathdefresv(li):new=[]ifli:cnt=len(li)foriinrange(cnt):new.append(li[cnt-i-1])returnnewdefresv2(li):li.reverse()returnlidefresv3(li):hcnt=int(math.floor(len(l
系統(tǒng) 2019-09-27 17:54:32 2074
參考鏈接:1.在類內(nèi)部獲取類名和方法名代碼:importsysclasstestsqawd(object):defhello(self):print('thenameofmethodis##{}##'.format(sys._getframe().f_code.co_name))print('thenameofclassis##{}##'.format(self.__class__.__name__))if__name__=='__main__':ttt=
系統(tǒng) 2019-09-27 17:54:00 2074
最近編寫的自動(dòng)化腳本,數(shù)據(jù)部分使用到了從配置文件中取,即自定義config.ini,但是在讀取配置文件的時(shí)候卻報(bào)錯(cuò)了'gbk'codeccan'tdecodebyte0xb0inposition30。錯(cuò)誤信息的意思是gbk'編解碼無法解碼字節(jié)0xb0。開始我以為是配置文件中出現(xiàn)了中文字符,可檢查后發(fā)現(xiàn)并沒有。在網(wǎng)上查了相關(guān)資料后,無果。于是請(qǐng)教了其他同事,經(jīng)過十幾分鐘的檢查和驗(yàn)證,原來我在創(chuàng)建congfi.ini文件時(shí),默認(rèn)保存的編碼類型是UTF-8。于是
系統(tǒng) 2019-09-27 17:52:28 2074
變量的定義如:>>>width=20>>>height=5*9>>>width*height900>>>string="shouke"注意:1.Python中不能使用未定義的變量2.變量的定義無需進(jìn)行類型聲明,可直接賦值3.交互模式中,‘_’表示表達(dá)式最后輸出值,如下:>>>tax=12.5/100>>>price=100.5>>>price*tax12.5625>>>price+_#等同于price+12.5625113.0625>>>round(_,2
系統(tǒng) 2019-09-27 17:52:16 2074
A_star算法與Dijkstra算法Grassfire算法主要不一樣的地方就在于加入了一個(gè)度量目前的節(jié)點(diǎn)與目標(biāo)點(diǎn)之間的距離的啟發(fā)函數(shù):常用的啟發(fā)函數(shù)有:算法介紹就不詳細(xì)敘述了,本文主要是通過python實(shí)現(xiàn)A*算法在01地圖中(0表示可通行區(qū)域,1表示障礙區(qū)域)的最優(yōu)路徑尋找,最終效果為:其中6是其進(jìn)行行走的路徑。下面在程序中,對(duì)算法中所設(shè)計(jì)到的需要進(jìn)行抽象的對(duì)象及算法的邏輯流程進(jìn)行了概述:#需要進(jìn)行抽象化的有:節(jié)點(diǎn)(屬性有:xy坐標(biāo)父節(jié)點(diǎn)g及h)地圖(
系統(tǒng) 2019-09-27 17:51:25 2074
1.linux下消息記錄關(guān)于系統(tǒng)的各種消息一般都會(huì)記錄在/var/log/messages文件中,有些主機(jī)在中默認(rèn)情況下有可能沒有啟用,具體配置方法可參考下面這篇博客:系統(tǒng)日志配置/var/log/messages2.python代碼實(shí)現(xiàn)原理其實(shí)很簡(jiǎn)單,就是讀/var/log/messages文件,找到有關(guān)usb的信息就可以了。#!/usr/bin/envpythonusbmsg=open("/var/log/messages","r")forlinein
系統(tǒng) 2019-09-27 17:50:15 2074
importrequests,time,csvfrombs4importBeautifulSouphref_list=[]url='https://hz.58.com/lvguanbinguan'headers={'user-agent':}params={'PGTID':'0d306b32-0004-f711-87c6-3e3cb7371c0d','ClickID':'2'}res=requests.get(url,headers=headers,par
系統(tǒng) 2019-09-27 17:49:24 2074
slots魔法:當(dāng)我們需要限定自定義類型的對(duì)象只能綁定某些屬性,可以通過在類中定義__slots__變量來進(jìn)行限定。__slots__的限定只對(duì)當(dāng)前類的對(duì)象生效,對(duì)子類并不起任何作用。靜態(tài)方法和類方法:靜態(tài)方法可解決對(duì)象未創(chuàng)建出來的問題。案例:例如我們定義一個(gè)正方形類,通過四個(gè)邊長(zhǎng)來構(gòu)造正方形,并提供計(jì)算面積的方法。定義類方法:類方法的第一個(gè)參數(shù)約定名為cls,它代表的是當(dāng)前類相關(guān)的信息的對(duì)象(類本身也是一個(gè)對(duì)象,有的地方也稱之為類的元數(shù)據(jù)對(duì)象),通過這個(gè)
系統(tǒng) 2019-09-27 17:48:02 2074