删除具有只读权限的文件,但对父文件夹具有写权限

时间:2018-08-24 07:37:00

标签: python

我的理解是,为了删除文件,我需要对父文件夹(对于Windows)具有写权限。我不需要对该文件本身的写权限。

但是os.remove给我“ [WinError 5]访问被拒绝”。我可以和用户一起通过Windows资源管理器删除该文件。

shutil.copy可以毫无问题地将文件复制到文件夹,但是再次运行脚本会显示“ [Errno 13]权限被拒绝”,因为该文件是只读文件,无法覆盖。 我可以创建文件,但之后不能删除它们是没有意义的。 修复方法是使用shutil.copyfile,因为目标文件没有权限,并且可以在下次运行时覆盖它,但是如果该文件已经存在并具有权限,则此方法将无效。

如何删除仅具有读取权限但对父文件夹具有写入权限的文件?

Python 3.3.2

1 个答案:

答案 0 :(得分:0)

只读属性可以这样清除。

import os
import stat
os.chmod(filePath, stat.S_IWRITE)