在我的一个脚本中,我需要删除当时可能正在使用的文件。我知道我不能删除正在使用的文件,直到它不再存在,但我也知道我可以将文件标记为由操作系统(Windows XP)删除。我将如何在Python中执行此操作?
答案 0 :(得分:6)
...和另一个不依赖于pywin32二进制文件的版本。
import ctypes
MOVEFILE_DELAY_UNTIL_REBOOT = 4
ctypes.windll.kernel32.MoveFileExA("/path/to/lockedfile.ext", None,
MOVEFILE_DELAY_UNTIL_REBOOT)
答案 1 :(得分:4)
import win32file
import win32api
win32file.MoveFileEx("/path/to/lockedfile.ext", None ,
win32file.MOVEFILE_DELAY_UNTIL_REBOOT)
答案 2 :(得分:1)
使用MoveFileEx
功能:
如果dwFlags指定MOVEFILE_DELAY_UNTIL_REBOOT且 lpNewFileName 为NULL,则MoveFileEx会在系统重新启动时注册要删除的 lpExistingFileName 文件。如果 lpExistingFileName 引用目录,则仅当目录为空时,系统才会在重新启动时删除目录。