Frage

Ich versuche ein Problem zu debuggen, bei dem Benutzer gelegentlich Dateien gesperrt haben, die sie öffnen versuchen. Der Code scheint eine korrekte Ausnahmebehandlung zu haben, aber Benutzer berichten immer noch, dass Fehlermeldungen angezeigt werden. Wie kann ich eine gesperrte Datei simulieren, damit ich sie selbst debuggen kann?

Bearbeiten: Für Windows.

War es hilfreich?

Lösung

hängt aber falls ms wort sperrt
Wenn Sie sich wundern, ob Ihre Anwendungsdateien sperren und es keine Relace -Sperren stellt:
Ändern Sie einfach ein bisschen Ihre Aplikation (um einen TestApp zu erstellen) und schließen Sie niemals die Datei (und halten Sie sie runnig)

Andere Tipps

Versuche dies:

( >&2 pause ) >> yourfile.txt

>> öffnet yourfile.txt in anhängen Modus

sehen Dies als Referenz

Ich habe die LockFileex -Funktion von der Windows -API verwendet, um ein unittestes in Python zu schreiben. Dies funktionierte für mich gut (Shutil.copy () mit einem verschlossenen Ziel fehlgeschlagen).

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

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top