python can't remove a file after closing it, "being used by another process"
<p>I am trying to remove a file after reading from it, but getting "WindowsError: [Error 32] The process cannot access the file because it is being used by another process"</p>

<pre><code>file = open(self.filePath)
for line in file:
        #do things
file.close()

os.remove(self.filePath) #throws error

os.rename(self.filePath, self.filePath + "old") #throws same error
</code></pre>

<p>any ideas?? </p>

<p>thank you!</p>

<p>UPDATE:
i just restarted my (windows 7) box, started eclipse, moved os.remove("c:\file\file.txt") to the first line of my script, ran and got the same error.  </p>

<p>UPDATE 2:
i used windows explorer to navigate to the file.. first time I couldn't delete it, it was being used by "System".  second attempt the delete worked fine.  the file is no longer there.  now when I run 
    os.remove("c:\file\file.txt")
WindowsError: [Error 32] The process cannot access the file because it is being used by another process: 'c:\file\file.txt'
then i look in windows explorer and the file is back, empty.  i can delete in explorer, then when i run the script to remove, it throws the error (and creates the empty file).  any idea what could be going on here?</p>

<p>UPDATE 3:
i am an idiot.
i was opening the file in the initialization of an object
when i tested by moving the "remove" to top of script, i should have put it at the top, not after creating my objects </p>

<p>sorry for taking your time, i've been working on something all weekend that's due tomorrow and panicked when it wouldn't run</p>
