每次我尝试在 Python 3.5.1 中使用 os.remove()
删除文件时,我都会收到这条消息 PermissionError: [WinError 5] Access is denied
这是简单的代码:
def clean_thrash(path):
dirlist=get_dirlist(path)
for f in dirlist:
fullname=os.path.join(path,f)
if fullname == os.path.join(path,"thrash.txt"):
os.remove(path)
if os.path.isdir(fullname):
clean_thrash(fullname)
甚至没有删除目录或子目录中的单个文件。
原文由 Saraghu Ravi 发布,翻译遵循 CC BY-SA 4.0 许可协议
我也有这个问题,经过搜索找到了一个很好的解决方案。
本质上,在调用
os.remove(file_name)
之前,我们需要 更改文件权限。import stat
os.remove
之前,调用os.chmod(file_name, stat.S_IWRITE)
例如:
我希望这能解决您的问题。