以下代码已在 activestate python 帮助文件中给出。此代码用于递归删除文件夹中的文件,然后删除文件夹本身。请指出其中的错误,因为我想使用 python 使用 win32 api
import win32con
import win32api
import os
def del_dir(path):
for file_or_dir in os.listdir(path):
if os.path.isdir(file_or_dir) and not os.path.islink(file_or_dir):
del_dir(file_or_dir) #recursive call to function again
else:
try:
os.remove(file_or_dir) #it's a file,delete is
except:
#probably failed because it is not a normal file
win32api.SetFileAttributes(file_or_dir,win32con.FILE_ATTRIBUTE_NORMAL)
os.remove(file_or_dir) #it's a file delete it
os.rmdir(path)#delete the directory here