[python-nl] os.remove fout

Robert Segaar rw.segaar at xs4all.nl
Tue Apr 15 21:54:30 CEST 2008


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)
------------- volgend deel ------------
Een HTML-bijlage is verwijderd...
URL: http://mail.python.org/pipermail/python-nl/attachments/20080415/38534a5a/attachment.htm 


More information about the Python-nl mailing list