网络编程
位置:首页>> 网络编程>> Python编程>> 利用python在大量数据文件下删除某一行的例子

利用python在大量数据文件下删除某一行的例子

作者:cm940114  发布时间:2023-08-24 09:15:22 

标签:python,修改,文件,某行

python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。


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

current_line = 0

# 定位到需要删除的行
   while current_line < (3 - 1): #(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()

注:truncate()函数括号可以加数字,表示删除数字之后的字符串,如果不加 就从当前光标处开始截断删除

来源:https://blog.csdn.net/cm940114/article/details/80086628

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com