windows - Hvordan kan jeg simulere en 'låst' fil (den ene har en skrivelås)

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at debug et problem, hvor brugerne lejlighedsvis har låste filer, som de forsøger at åbne. Koden ser ud til at have korrekt undtagelsesbehandling, men brugere rapporterer stadig om at se fejlmeddelelser. Hvordan kan jeg simulere en låst fil, så jeg kan debugere det selv?


EDIT: For Windows.

Bedste reference


afhænger, men i tilfælde af MS Word låse

hvis du er vidunderlig, hvis din ansøgning lås filer og det ikke relase låsene:

bare ændre en smule din tilmelding (for at oprette en testapp) og aldrig lukke filen (og hold den runnig)

Andre referencer 1


Prøv dette:


( >&2 pause ) >> yourfile.txt


>> åbner yourfile.txt i tilføj -tilstand


se dette til en reference [5]

Andre referencer 2


Jeg brugte LockFileEx funktion fra Windows API til at skrive en unittest i Python. Dette fungerede godt for mig (shutil.copy () med et låst mål fejler).


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())


Se: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365203\%28v=vs.85\%29.aspx[6]