python刪除某一行

2022-08-11 06:15:13 字數 1055 閱讀 4153

整理了網路上的一些方法,一般有兩種方法:

第一種:是先把檔案讀入記憶體,在記憶體中修改後再寫入原始檔。

例子:將內容包含「123」的所有行刪去:

with open('c:/users/lai/desktop/1.txt','r') as r:

lines=r.readlines()

with open('c:/users/lai/desktop/1.txt','w') as w:

for l in lines:

if '123' not in l:

w.write(l)

第二種:我們可以使用 open() 方法把需要修改的檔案開啟為兩個檔案,然後逐行讀入記憶體,找到需要刪除的行時,用後面的行逐一覆蓋。實現方式見以下**。

with open('file.txt', 'r') as old_file:

with open('file.txt', 'r+') as new_file:

current_line = 0

# 定位到需要刪除的行

while current_line < (del_line - 1):

old_file.readline()

current_line += 1

# 當前游標在被刪除行的行首,記錄該位置

seek_point = old_file.tell()

# 設定游標位置

new_file.seek(seek_point, 0)

# 讀需要刪除的行,游標移到下一行行首

old_file.readline()

# 被刪除行的下一行讀給 next_line

next_line = old_file.readline()

# 連續覆蓋剩餘行,後面所有行上移一行

while next_line:

new_file.write(next_line)

next_line = old_file.readline()

# 寫完最後一行後截斷檔案,因為刪除操作,檔案整體少了一行,原檔案最後一行需要去掉

new_file.truncate()

sed 刪除某一行 sed刪除指定行

待處理文字如1 8行文字 cata1 sed刪除連續指定行 如1 4行 sed 1,4d a5 sed刪除不連續指定行 如第一行和第三行 sed e 1d e 3d a2 乙個例子 我有乙個list檔案如下 cat list unknown other 2 檔名,我要從檔案裡抓取一些資訊,下同,發現...

更改檔案,某一行

1 deffetch data 2print 這是查詢功能 3 tag false 4 data aaaa s n data 5 res data 6 with open bbb r encoding gbk as file 7for i in file 8if i data 9 tag true ...

jquery刪除表單動態新增的某一行

jquery刪除表單某一行報錯 先刪除第一行,可正常刪除,再刪除第三行報錯 rows為表單陣列,index為刪除的陣列項 通過列印index,定位到問題原因是刪除第一項後,陣列長度變為2,此時刪除最後一項,index為2 rows 2 為undefined 解決方法 刪除一行後替換為空,保證索引正確...