¿Cómo puedo simular un archivo "bloqueado" (uno que tiene un bloqueo de escritura)
Pregunta
Estoy tratando de depurar un problema en el que los usuarios ocasionalmente tienen archivos bloqueados que intentan abrir. El código parece tener un manejo de excepciones correcto, pero los usuarios aún informan que viendo mensajes de error. ¿Cómo puedo simular un archivo bloqueado para que pueda depurar esto yo mismo?
Editar: para Windows.
Solución
Depende, pero en caso de que MS se bloquee la palabra
Si se pregunta si su aplicación bloquea los archivos y no se relajan los bloqueos:
Simplemente modifique un poco su aplicación (para crear un TestApp) y nunca cierre el archivo (y manténgalo runnig)
Otros consejos
prueba esto:
( >&2 pause ) >> yourfile.txt
>>
abertura yourfile.txt
en adjuntar modo
ver este Para una referencia
Utilicé la función LockFileEx de la API de Windows para escribir un Unittest en Python. Esto funcionó bien para mí (blind.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