python对文件进行操作,插入多行!在线等!谢谢各位!
如题,我用python操作文件,从文件中固定的某一行开始插入多行数据时候,总是倒着插入啊,例如我想插入:
1 2 3
4 5 6
7 8 9
我想插入上面三行数据的时候,用下面的代码后结果插入成了下面的形式:
7 8 9
4 5 6
1 2 3
求助啊!在线等!另外问一下各位高手,如何删除文件中固定某一行的特定字符啊,例如我想删除"1 2 3 "这样行中的3.
谢谢各位了!
我的代码如下,请大家帮我看看!
# -*- coding: cp936 -*-dat0=' 'dat_n='\n'year='1987'dat1='744'dat2='36'dat3='xxx'k=16i=16j=1f = open('D:/Fortran/run_data_mode', 'r')data = f.readlines()f.close()#data[4] = data[4].replace('year', '1987')data[k:1] = [dat0,dat1,dat0,dat2,dat_n]###################下面部分为我要做的,即从第i=15行开始插入多行数据,但是为啥是倒着插入的?###################不能按照我的本意插入啊!#########################################while(1): data[i:1]=[dat0,str((j+0)*int(dat2)),dat0,str((j+1)*int(dat2)),dat0,str((j+2)*int(dat2)), dat0,str((j+3)*int(dat2)),dat0,str((j+4)*int(dat2)),dat0,str((j+5)*int(dat2)), dat0,str((j+6)*int(dat2)),dat0,str((j+7)*int(dat2)),dat0,str((j+8)*int(dat2)), dat0,str((j+9)*int(dat2)),dat_n] i=i+1#########关键这个地方出问题了好像。 j=j+10 if int(dat1)*int(dat2)<j*int(dat2): break###################上面部分为我要做的,即从第i=15行开始插入多行数据,但是为啥是倒着插入的?f = open('D:/Fortran/run_data_mode', 'w')f.writelines(data)f.close()
data = '123'data += '\n456'data += '\n789'f = open('data.txt','w')f.write(data)f.close()