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

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

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

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

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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-11

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

#! /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()

 

回头给我一个采纳~

本回答被提问者采纳
第2个回答  2013-06-21
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]

本回答被网友采纳

python 如何在文本中找到某个单词的所在行并在后面添加两行内容...
s="指定字符串"f=open("文本文件名")n=int(raw_input("输入输出的行数:"))line=f.readline()while line: if s in line: print line for i in range(n): line=f.readline() if line: print line else: break if not line:break line=f.readline()

python在文件指定位置写入
1、写入模式('w'):此模式用于创建一个新文件并将数据写入其中。如文件已经存在,它将被覆盖。2、追加模式('a'):此模式用于在文件的末尾添加数据而不覆盖现有数据。3、读取模式('r'):此模式用于读取文件中的数据。

python在图片上添加指定字体的文字
1.安装OpenCV pip install opencv-python 2.利用putText方法来实现在图片的指定位置添加文字 putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOrigin=None)在使用putText方法在图片上添加文字的时, 无法直接添加中文 和 无法导入字体文件 ,接下来我们...

python open怎么指定行插入
指定行插入比较麻烦,我一般会读取文件,然后将读到的内容一行行的写入到一个新文件,以前回答的一个问题:https:\/\/zhidao.baidu.com\/question\/2121566381126811667 -*- coding:utf-8 -*- #原始文件f = open('d:\\\\000001.csv', 'r+')#新文件t = open('d:\\\\000002.txt', 'w+') n = ...

Python中如何使在选中的文件前加入#
1.使用which查询python解释器所在路径,$whichpython,2.修改要运行的主python文件,并在文件第一行添加一下内容,#!\/usr\/bin\/python,3.增加python文件的可执行权限,$chmod+xxxxxxx.py,4.在linux中执行文件,.\/xxxxxx.py。#!这个符号叫做Shebang或者Sha-bang,Shebang通常在Unix系统脚本的中第一行...

如何用python读取文本中指定行的内容
1.默认你知道“指定行”的行号那么:def appoint_line(num,file): with open(file,"r",encoding='utf-8') as f: out = f.readlines[num-1] return outprint(appoint_line(2,"c:\/text.txt"))以上示例为读取c盘下的text.txt文件的第二行2.假如所谓“指定行”为开头几个字符,这...

如何用python读取文本中指定行的内容
1、第一步,打开在计算机上编写python的软件,如下图所示,然后进入下一步。2、其次,完成上述步骤后,创建一个新的py文件,见下图,然后进入下一步。3、接着,完成上述步骤后,导入xlrd包,并且读取表的函数就在其内部,见下图,然后进入下一步。4、然后,完成上述步骤后,打开要阅读的文档,见下图...

怎么用python读取txt文件里指定行的内容,并导入excel
data.append(tuple(hinfo))'''写入excel'''import xlwt# 创建workbook和sheet对象workbook = xlwt.Workbook() # Workbook的开头W 大写sheet1 = workbook.add_sheet('sheet1', cell_overwrite_ok=True)# 向sheet页中写入数据sheet1.write(0, 0, '姓名')sheet1.write(0, 1,...

怎么用python读取txt文件里指定行的内容,并导入excel
一、读excel表 读excel要用到xlrd模块,官网安装(http:\/\/pypi.python.org\/pypi\/xlrd)。然后就可以跟着里面的例子稍微试一下就知道怎么用了。大概的流程是这样的:1、导入模块 复制代码代码如下:import xlrd 2、打开Excel文件读取数据 复制代码代码如下:data = xlrd.open_workbook('excel.xls')3、...

怎么用python读取txt文件里指定行的内容,并导入excel
写excel表要用到xlwt模块,官网下载(http:\/\/pypi.python.org\/pypi\/xlwt)。大致使用流程如下:1、导入模块 复制代码代码如下:import xlwt 2、创建workbook(其实就是excel,后来保存一下就行)复制代码代码如下:workbook = xlwt.Workbook(encoding = 'ascii')3、创建表 复制代码代码如下:worksheet = ...

相似回答