Onderstaand programma heeft tot doel vaste IP adressen in HTML bestanden te 
vervangen door andere vaste IP adressen.

De regel os.remove(fname) genereert een fout WindowsError: [Error 32] Het 
proces heeft geen toegang tot het bestand omdat het bestand door een ander 
proces wordt gebruikt: 'c:/floep/soep.htm'

is close onvoldoende om het bestand vrij te geven?



import os,sys,time
import fileinput,string

search = "10.0.0.222"
replace = "10.0.0.223"

from os.path import join, getsize
for root, dirs, files in os.walk("c:/floep/"):
    for name in files:
        fname = os.path.join(root, name)
        ftemp = os.path.join(root, name+".$$$")
        if string.find(fname,".htm") is not -1:
          print fname

          infile =open(fname)
          if os.path.exists(ftemp):
              os.remove(ftemp)        
          outfile = open(ftemp,"w")
          outfile.write(infile.read().replace(search,replace))
          outfile.flush 
          outfile.close
          outfile.flush 
          infile.close
          
          time.sleep(1)
          os.remove(fname)
          os.rename(ftemp,fname)
_______________________________________________
Python-nl mailing list
Python-nl@python.org
http://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan