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
Post a Comment