|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
force overwrite
In a script I have, I need to be able to overwrite a file that is at times in use. Is there any way in python, or dos commands for that matter, that I can force a delete or force an overwrite of a file that is in use?
|
|
#2
|
||||
|
||||
|
A file cant be opened for writing while another process has a lock on that file. You should note than Python doesn't apply any file locking by default
.So you have two options.. remove the file lock or wait for the file to be freed. You might want to take a look at these recipes for locking/unlocking files form Python. http://aspn.activestate.com/ASPN/Co...n/Recipe/252495 http://aspn.activestate.com/ASPN/Co...on/Recipe/65203 There are also a module available in *nix for locking and unlocking files called fcntl. http://python.org/doc/2.3.4/lib/module-fcntl.html The second option is probly the best since its the most Pythonic and thus platform independent. Its also surprisingly simple, not to mention safer .Code:
#!/usr/bin/env python
from time import sleep
while True:
try:
file('some.txt', 'w')
except IOError:
time.sleep(1)
In this example the file is tested to see if it is available untill it is; sleeping for one second before trying again. This could be writen better depending on the rest of your program .Hope this helps, Mark. Last edited by netytan : June 19th, 2004 at 10:35 AM. Reason: correction |
![]() |
| Viewing: Dev Shed Forums > Programming Languages > Python Programming > force overwrite |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|