1. 调用DOS命令
import os
os.system('attrib -R %s' %filename)
os.remove(filename)
这种方法在带UI的程序中会弹出一个cmd窗口,随即又消失,影响用户体验。
2. stat模块
import os
import stat
os.chmod(filename, stat.S_IWRITE)
os.remove(filename)
如果要删除整个文件夹,而其中包含有只读文件,那就先将文件夹下所有文件的只读属性去掉再删除。
import os
import stat
import shutil
def _remove_readonly(filename):
os.chmod(filename, stat.S_IWRITE)
def rmdir(dir):
# if there're sub-directories under 'dir', the following line need some modification
map(_remove_readonly, [os.path.join(dir, filename) for file in os.listdir(dir)])
shutil.rmtree(dir)
没有评论:
发表评论