将文件读入内存,在指定位置添加一行,保存文件

本文介绍了一种高效的文件修改方法,即如何在指定位置插入文本,并提供了一个读取特定行内容的示例。通过将文件内容读入内存进行操作,再保存回文件的方式,实现了对文件的高效编辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件是线性表。如果想在文件中间插入内容,必须将插入点之后的字符向后移动。我推荐的作法是:将文件读入内存,在指定位置添加一行,然后再保存文件。

1
2
3
4
5
6
7
8
9
10
11
#! /usr/bin/python
 
fp = file('data.txt')
= fp.read()
fp.close()
= s.split('\n')
a.insert(1'a new line'# 在第二行插入
= '\n'.join(a)
fp = file('data.txt''w')
fp.write(s)
fp.close()
追问:
非常感谢你,感觉你的办法很好,那如果我要读取一个文件的第二行内容如何处理呢?我是要在一个文件中读取第二行的内容,然后将这行内容插入在另一个文件的第二行中的,麻烦你再指导下吧,谢谢哈!!!!
追答:

这样做:

1
2
3
fp = file('data.txt')
for in range(2): # 循环两次,每次读取一行
    line = fp.readline() # 第二次循环后,这就是第二行内容了


我之前写的代码是基本的方法,但效率不高,在此贴一个效率最高的方法:

1
2
3
4
5
6
7
8
9
10
11
fp = file('data.txt')
lines = []
for line in fp: # 内置的迭代器, 效率很高
    lines.append(line)
fp.close()
 
lines.insert(1'a new line'# 在第二行插入
= '\n'.join(lines)
fp = file('data.txt''w')
fp.write(s)
fp.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值