首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python对文件进行操作,插入多行!多谢各位

2012-02-20 
python对文件进行操作,插入多行!在线等!谢谢各位!如题,我用python操作文件,从文件中固定的某一行开始插入

python对文件进行操作,插入多行!在线等!谢谢各位!
如题,我用python操作文件,从文件中固定的某一行开始插入多行数据时候,总是倒着插入啊,例如我想插入:
1 2 3
4 5 6
7 8 9
我想插入上面三行数据的时候,用下面的代码后结果插入成了下面的形式:
7 8 9
4 5 6
1 2 3
求助啊!在线等!另外问一下各位高手,如何删除文件中固定某一行的特定字符啊,例如我想删除"1 2 3 "这样行中的3.
谢谢各位了!
我的代码如下,请大家帮我看看!

Python code
# -*- 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()


[解决办法]
既然是字符串,先构造,再写入
例如
Python code
data = '123'data += '\n456'data += '\n789'f = open('data.txt','w')f.write(data)f.close() 

热点排行