急求大神指教:怎样用python在指定文件中的指定行插入一句话呢?

我想用python在一个指定的文件中第2行插入一句话,想不出办法?怎样操作呢?很急啊,求大神赶紧指教,最好有详细源码,非常感谢啊!!!!!在第二行插入数据后,从第三行以后... 我想用python在一个指定的文件中第2行插入一句话,想不出办法?怎样操作呢?很急啊,求大神赶紧指教,最好有详细源码,非常感谢啊!!!!!
在第二行插入数据后,从第三行以后的内容要逐次向后移动一行,不能把第三行的内容覆盖了呀,谢谢!!!
展开
 我来答
百度网友faadf46
高粉答主

2020-05-07 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:69.6万
展开全部

1、打开pycharm开发工具,在python项目中,定义列表变量b1并赋值。

2、使用列表中的方法,向列表b1的第二个位置,添加元素yhd,并打印结果。

3、保存代码并运行python文件,结果控制台出现了报错。

4、检查代码发现,本来是想用insert,结果写成了index;修改代码方法,然后保存代码。

5、再次运行python文件,结果发现yhd添加到第二个位置。

TableDI
2024-07-18 广告
当我们谈到Python与Excel的拆分时,通常指的是使用Python的库来读取Excel文件中的数据,然后根据某种逻辑(如按行、按列、按特定值等)将数据拆分成多个部分或输出到新的Excel文件中。上海悉息信息科技有限公司在处理这类任务时,... 点击进入详情页
本回答由TableDI提供
nbyh2012
推荐于2017-09-11 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:795万
展开全部

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

#! /usr/bin/python

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

这样做:

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


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

fp = file('data.txt')
lines = []
for line in fp: # 内置的迭代器, 效率很高
    lines.append(line)
fp.close()

lines.insert(1, 'a new line') # 在第二行插入
s = '\n'.join(lines)
fp = file('data.txt', 'w')
fp.write(s)
fp.close()

 

回头给我一个采纳~

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
silmerusse
2013-06-21 · TA获得超过6639个赞
知道大有可为答主
回答量:2919
采纳率:33%
帮助的人:2078万
展开全部
with open('a.txt') as f:
lines = f.readlines()
lines[1:1] = ['hello\n']
open('a.txt', 'w').writelines(lines)
追问
你这个办法果然很好,非常感谢你,我想再问下,我想读取一个文件指定一行的内容的,如何操作呢?我是想把一个文件中指定第2行的内容读出来,然后将其插入到另一个文件中的第2行,麻烦大神您再指导下吧!非常感谢你!!!
追答
with open('b.txt') as f:
print f.readlines()[1]
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式