- 論壇徽章:
- 0
|
這個方法應(yīng)該可以:
為了省事,代碼沒加異?刂疲粚憘大概流程
情況1)
知道要刪除行的行號:- import os
- DELNUM=2
- i=1
- openFileHandle=open('filename','r')
- writeFileHandle=open('Temp','w')
- while 1:
- line=openFileHandle.readline()
- if line:
- if i==DELNUM:
- i=i+1
- print "找到%d行:%s"%(DELNUM,line)
- continue
- else:
- i=i+1
- writeLine='%s\n'%line
- writeFileHandle.write(writeLine)
- else:
- print "匹配%d行失敗,文件已到末尾"%DELNUM
- break
- openFileHandle.close()
- writeFileHandle.close()
- os.remove('filename')
- os.rename('Temp','filename')
- print "All Done!"
復(fù)制代碼 代碼介紹,從DELNUM行開始:
#要刪除行的行號,假設(shè)為2
#設(shè)個計數(shù)器,計錄當前到了第幾行
#打開要操作的文件
#新建一個中間文件,用于寫入除第2行的所有行
#進入主循環(huán)
#如果文件沒到末尾,并且當前記錄的行號不是要刪除的行號,將該行寫入Temp
#如果是要刪除的行,打印行號及該行內(nèi)容,不寫入Temp,進入下一循環(huán)
#如果讀到文件末尾,跳出主循環(huán)
#關(guān)閉文件句柄
#用Temp文件替換filename,得到刪除了DELNUM行的文件
情況2)
知道要刪除行的某一特征:
將1中的行號判斷改成正則表達式,匹配成功,不寫入Temp
不成功,寫入Temp,其他一樣 |
|