回答问题

我的代码:

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)
Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐