TuT*_*Tan 5 python shutil python-3.x
我的代码:
if os.path.exists(myDir):
shutil.rmtree(myDir)
os.mkdir(myDir)
Run Code Online (Sandbox Code Playgroud)
问题:如果myDir不存在,它将始终起作用。如果myDir存在,则有时会引发错误,有时会起作用。
错误日志:
os.mkdir(myDir)
PermissionError: [WinError 5] Access is denied: 'myDir'
Run Code Online (Sandbox Code Playgroud)
我的猜测:当我调用os.mkdir时,有时候shutil.rmtree尚未完成执行/尚未释放目录权限。因此,错误。
有什么方法可以确保在调用os.mkdir之前完全执行shutil.rmtree?
小智 5
所以我遇到了同样的问题。我一直在使用的是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)
Run Code Online (Sandbox Code Playgroud)