Отметить файл для удаления из Python? - PullRequest
3 голосов
/ 19 октября 2010

В одном из моих сценариев мне нужно удалить файл, который мог использоваться в данный момент.Я знаю, что не могу удалить файл, который используется, пока он больше не будет, но я также знаю, что могу пометить файл для удаления операционной системой (Windows XP).Как бы я сделал это в Python?

Ответы [ 3 ]

6 голосов
/ 19 октября 2010

... и другая версия, которая не зависит от двоичных файлов pywin32.

import ctypes
MOVEFILE_DELAY_UNTIL_REBOOT = 4

ctypes.windll.kernel32.MoveFileExA("/path/to/lockedfile.ext", None,
                                       MOVEFILE_DELAY_UNTIL_REBOOT)
4 голосов
/ 19 октября 2010
import win32file
import win32api
win32file.MoveFileEx("/path/to/lockedfile.ext", None ,
                 win32file.MOVEFILE_DELAY_UNTIL_REBOOT)
1 голос
/ 19 октября 2010

Используйте функцию MoveFileEx:

Если dwFlags указывает MOVEFILE_DELAY_UNTIL_REBOOT и lpNewFileName равно NULL, MoveFileEx регистрирует lpExistingFileNameфайл, который будет удален при перезагрузке системы.Если lpExistingFileName относится к каталогу, система удаляет каталог при перезапуске, только если каталог пуст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...