使用 shutil.rmtree 和 os.mkdir 覆盖目录有时会出现“拒绝访问”错误
回答问题 我的代码: if os.path.exists(myDir): shutil.rmtree(myDir) os.mkdir(myDir) 问题:如果 myDir 不存在,它总是有效。如果 myDir 存在,有时它会抛出错误,有时它会起作用。 错误日志: os.mkdir(myDir) PermissionError: [WinError 5] Access is denied: 'myD
·
回答问题
我的代码:
if os.path.exists(myDir):
shutil.rmtree(myDir)
os.mkdir(myDir)
问题:如果 myDir 不存在,它总是有效。如果 myDir 存在,有时它会抛出错误,有时它会起作用。
错误日志:
os.mkdir(myDir)
PermissionError: [WinError 5] Access is denied: 'myDir'
我的猜测:当我调用 os.mkdir 时,有时shutil.rmtree 还没有完成执行/没有释放目录的权限。因此,错误。
在调用 os.mkdir 之前,有什么方法可以确保 shutil.rmtree 的完整执行?
Answers
所以我遇到了同样的问题。我一直使用的是shutil.rmtree
之后的暂停。我认为几乎任何使您的计算机使用时钟周期的事情都可以。所有代码:
import os
import shutil
import time
dataDir = 'C:/Data/'
if os.path.exists(TEMPDIR):
shutil.rmtree(TEMPDIR)
time.sleep(.0000000000000001)
os.makedirs(TEMPDIR)
更多推荐
已为社区贡献126483条内容
所有评论(0)