2011-05-02 12 views
13

Estoy intentando depurar un problema donde los usuarios ocasionalmente tienen archivos bloqueados que intentan abrir. Parece que el código tiene un manejo de excepciones correcto, pero los usuarios todavía informan haber visto mensajes de error. ¿Cómo puedo simular un archivo bloqueado para poder depurarlo yo mismo?¿Cómo puedo simular un archivo "bloqueado" (uno que tiene un bloqueo de escritura)

EDITAR: Para Windows.

+0

En qué sistema operativo estás queriendo hacer esto? –

+0

@Will, Windows. – Daisetsu

+0

¿Qué mensaje de error están viendo? ¿Sabes con certeza que tienen archivos bloqueados cuando reciben el mensaje de error? –

Respuesta

8

depende, pero en el caso, MS Word cerraduras
si se wonderig si sus archivos de bloqueo de aplicaciones y no relase cerraduras:
basta con modificar un poco tu aplicacion (para crear un testapp) y nunca cierre el archivo (y mantenerlo runnig)

+0

Word o Excel iban a ser mis sugerencias, por lo que un upvote bien y verdaderamente merecía ... :) –

+0

Luis, gracias por su ayuda. Voy a probar este método. :) – Daisetsu

10

intente esto:

(>&2 pause) >> yourfile.txt 

>> abre yourfile.txt en anexar modo

ver this para una referencia

+2

Me gusta mucho esto. Es más fácil que usar un gran software MS para bloquear mi archivo –

0

Utilicé la función LockFileEx de la API de Windows para escribir una prueba de unidad en Python. Esto funcionó bien para mí (shutil.copy() con un objetivo bloqueado falla).

import win32con 
import win32file 
import pywintypes 

p = "yourfile.txt" 
f = file(p, "w") 
hfile = win32file._get_osfhandle(f.fileno()) 
flags = win32con.LOCKFILE_EXCLUSIVE_LOCK | win32con.LOCKFILE_FAIL_IMMEDIATELY 

win32file.LockFileEx(hfile, flags, 0, 0xffff0000, pywintypes.OVERLAPPED()) 

Ver: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365203%28v=vs.85%29.aspx

Cuestiones relacionadas