Как я могу смоделировать «заблокированный» файл (тот, у которого есть блокировка записи)

StackOverflow https://stackoverflow.com/questions/5860542

  •  28-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь отладить проблему, когда пользователи иногда заблокировали файлы, которые они пытаются открыть. Код, по -видимому, имеет правильную обработку исключений, но пользователи все еще сообщают о сообщениях об ошибках. Как я могу смоделировать заблокированный файл, чтобы я мог отлаживать это сам?

Редактировать: для Windows.

Это было полезно?

Решение

Зависит, но в случае, если MS Word блокирует
Если вам интересно, если ваше приложение блокирует файлы, и оно не направляет блокировки:
Просто измените немного своего нанесения (для создания TestApp) и никогда не закрывайте файл (и сохраните его запуска)

Другие советы

попробуй это:

( >&2 pause ) >> yourfile.txt

>> открывается yourfile.txt в добавлять Режим

видеть это для ссылки

Я использовал функцию LockFileex из API Windows, чтобы написать питон в Python. Это хорошо сработало для меня (shutil.copy () с заблокированной целью сбой).

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

Видеть: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365203%28v=vs.85%29.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top