io - python: Open file, edit one line, save it as the same file -


i want open file, search specific word, change word , save file again. sounds easy - can't working... know have overwrite whole file change 1 word!

my code:

f = open('./myfile', 'r') linelist = f.readlines() f.close  line in linelist:     =0;     if 'word' in line:         number in arange(0,1,0.1)):             mynumber = 2 - number             mynumberasstring = str(mynumber)              mychangedline = line.replace('word', mynumberasstring)               f2 = open('./myfile', 'w')             f2.write(line)             f2.close              #here have stuff these files there reason             #why in loop. , know             #overwrite file every loop , so. want :) 

if make this, 'new' myfile file contains changed line. want whole file changed line... can me?

****edit*****

i fixed it! turned loops around , works this:

f=open('myfile','r') text = f.readlines() f.close()  =0; number in arange(0,1,0.1):     fw=open('mynewfile', 'w')      mynumber = 2 - number     mynumberasstring = str(mynumber)     line in text:          if 'word' in line:             line = line.replace('word', mynumberasstring)          fw.write(line)     fw.close()     #do stuff here need these input files 

you need write out other lines go. said in comment, don't know trying replace, here's simplified version in we're replacing occurrences of 'word' 'new':

f = open('./myfile', 'r') linelist = f.readlines() f.close  # re-open file here f2 = open('./myfile', 'w') line in linelist:     line = line.replace('word', 'new')     f2.write(line) f2.close() 

or using contexts:

with open('./myfile', 'r') f:     lines = f.readlines()  open('./myfile', 'w') f:     line in lines:         line = line.replace('word', 'new')         f.write(line) 

Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -