modify files?

Ingo 'resISt' Siebert res1st at gmx.de
Fri Feb 9 17:17:03 EST 2001


Hi,
i´m very new to Python but i have to learn that. So i´m starting with litte
programs but i have now a big problem.
I have (Win-)Files which contains something like

fjioejfejfkljklTCHAT "Blablabla" kfoefeisdfidjsfmiosdf...TCHAT "Blablabla"
....

(tchat are also in low letters)

So i want to replace all Blablabla's with a some chars (i did choose *)
So it should look like

fjioejfejfkljklTCHAT "*********" kfoefeisdfidjsfmiosdf


So I wrote the following Program.

def demorem():
    filea = os.stat('c:/tmp/test.dat')[ST_SIZE]
    print "Filesize:" , filea , "Bytes"
    print "Please wait..."
    f=open('c:/tmp/test.dat', 'r+')
    fpos= int(0)
    while fpos < filea:
        f.seek(fpos)
        fstr=f.read(5)
        if fstr == 'tchat':
                print "tchat found"
                fpos=fpos+7
                f.seek(fpos)
                fstr2=f.read(1)
                i=int(0)
                ssign='"'
                while fstr2 != ssign :
                    f.write('*')
                    print fstr2, "-> *"
                    i=i+1
                    if i > 200 :
                        print "Error: someone said too much"
                        break
                    fpos=fpos+1
                    f.seek(fpos)
                    fstr2=f.read(1)
       fpos = fpos+1
 f.close()
 print "Done."


I also use the following at the beginning.

import os, sys
from stat import *

I don´t know if i really need them both, but i will try it later. :)

Now my Problem. If i start my program then it seems that all is working.
"tchat found"
the chars which sould be replaced are listet correct on my screen

tchat found
X -> *
Y -> *
...

But my file is still the old one, nothing were replaced.
Why does this
f.write('*')
nothing do to my file?

And after my program is halted, my Test-File is still in use, said Windows
when i wanted to modify it. Is
f.close()
also wrong?

It would be great if you could help me.
bye
Ingo Siebert





More information about the Python-list mailing list