我的理解是,为了删除文件,我需要父文件夹的写权限(对于 Windows)。我不需要文件本身的写权限。
但 os.remove 给我“[WinError 5]访问被拒绝”。我可以通过 Windows 资源管理器与我的用户一起删除该文件。
Shutil.copy 将文件复制到文件夹没有问题,但再次运行该脚本会出现“[Errno 13] 权限被拒绝”,因为该文件是只读的且无法覆盖。我可以创建文件但之后不能删除这些文件,这是没有意义的。修复方法是使用 Shutil.copyfile,因为这样目标文件没有权限,并且可以在下次运行中覆盖它,但是如果该文件已经存在且具有权限,则这将不起作用。
如何删除对父文件夹仅具有读取权限但具有写入权限的文件?
Python 3.3.2
只读属性可以这样清除。
import os
import stat
os.chmod(filePath, stat.S_IWRITE)
Run Code Online (Sandbox Code Playgroud)