使用open函數(shù)逐行讀取文件,依次對(duì)比,如包含要求字符串,則數(shù)量累加1,讀取完成后可統(tǒng)計(jì)出行數(shù),代碼如下:
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),臨湘企業(yè)網(wǎng)站建設(shè),臨湘品牌網(wǎng)站建設(shè),網(wǎng)站定制,臨湘網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,臨湘網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
n?=?0
for?line?in?open('filename','r'):
if?'固定字符串'?in?line:
n?+=?1
print(n)
說(shuō)明:
使用 for line in open這種方式可以提高代碼效率,如需要更復(fù)雜統(tǒng)計(jì),例如重復(fù)行,則可以使用hash函數(shù),把行hash值存入列表,再做統(tǒng)計(jì)。
python的速度效率是不高的,如何對(duì)速度要求比較高的話建議可以用c來(lái)寫。
我寫了這個(gè)代碼,python2.6+windows xp測(cè)試通過(guò)。
希望能幫到你~
===================================================
a=[] #初始化要用到的列表a,用于記錄原始行信息
b=[] #初始化要用到的列表b,用于記錄結(jié)果數(shù)據(jù),由兩項(xiàng)構(gòu)成。前一項(xiàng)為行信息如“小明:90”,后一項(xiàng)為該行對(duì)應(yīng)的出現(xiàn)次數(shù)如2
f1=file("1.txt", "r") #打開(kāi)1.txt文件
for line in f1:
a.append(line) #將1.txt文件每一行作為一個(gè)元素,存入列表a
f1.close
for n in a: #遍歷a中每一項(xiàng)(記為n),即1.txt中每一行
flag=1
for i in range(0,len(b)):
if n == b[i][0]: #n與列表b中的每一項(xiàng)對(duì)比,如果有相等的:
b[i][1]=b[i][1]+1 #那么對(duì)應(yīng)的出現(xiàn)計(jì)數(shù)加1
flag=0
break
if flag==1: #如果前面的比對(duì)沒(méi)有一個(gè)相等的,即該行是第一次出現(xiàn):
b.append([n,1]) #那么在列表b中添加改行為新的一項(xiàng)
f2=file("2.txt", "w") #打開(kāi)2.txt文件,用于輸出
for n in b: #輸出格式為:行信息 (tab) 出現(xiàn)次數(shù) (回車)
f2.write(str(n[0][0:-1]) + "\t")
f2.write(str(n[1]) + "\n")
f2.close
print "Finished" #完成
def get_file_code_lines(path):
file = open(path)
content = file.readlines()
result = [c.strip() for c in content if c.strip()]
print(len(result))
if __name__ == "__main__":
get_file_code_lines("test2.py")
通常是直接用命令行cat 文件名|grep -c "idea"就可以解決。
在python里也可以直接 open('文件名','rb').read().count('idea')這樣的方式取得數(shù)量
如果是復(fù)雜一些,可以用正則、
text=open('文件名','rb').read()
re.findall('(?isu)"username":"idea"', text)
本文名稱:python函數(shù)行數(shù)統(tǒng)計(jì) python統(tǒng)計(jì)個(gè)數(shù)的函數(shù)
文章出自:http://vcdvsql.cn/article34/dopeese.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、、ChatGPT、靜態(tài)網(wǎng)站、微信公眾號(hào)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)