Python 使用shutil.rmtree删除目录后,立即使用os.makedirs创建目录时出错
在删除一个新的(深度)目录(在本地ssd上)后立即尝试创建该目录时,Python 3.6会在Python 使用shutil.rmtree删除目录后,立即使用os.makedirs创建目录时出错,python,file-access,Python,File Access,在删除一个新的(深度)目录(在本地ssd上)后立即尝试创建该目录时,Python 3.6会在os.makedirs(dirName)行中报告一个PermissionError。 解决此问题的唯一方法是在删除目录后睡眠1秒,然后没有错误。 我是否使用了错误的API,这是Python问题还是其他问题 例如: dirName=“a/b/c” 如果os.path.isdir(dirName): shutil.rmtree(dirName) #时间。睡眠(1) os.makedirs(dirName)
os.makedirs(dirName)
行中报告一个PermissionError
。
解决此问题的唯一方法是在删除目录后睡眠1秒,然后没有错误。
我是否使用了错误的API,这是Python问题还是其他问题
例如:
dirName=“a/b/c”
如果os.path.isdir(dirName):
shutil.rmtree(dirName)
#时间。睡眠(1)
os.makedirs(dirName)
错误:
File "C:\Program Files\Python37\lib\os.py", line 221, in makedirs
mkdir(name, mode)
PermissionError: [WinError 5] Access is denied: '...'
File "C:\Program Files\Python37\lib\os.py", line 221, in makedirs
mkdir(name, mode)
PermissionError: [WinError 5] Access is denied: '...'
您的代码看起来不错,但是,出现此错误可能有以下几个原因:
无法在Win10上使用Python 3.7.3 x64复制(也适用于网络驱动器)目录位于本地ssd上drive@doberkofler:您确定这是Python问题吗?也可能与操作系统有关…@MrFuppes我不确定,这就是为什么我想弄清楚我是否正确使用了API,并且这实际上应该可以工作…如果其他进程正在使用该目录,也可能发生这种情况。在这种情况下,目录被“标记为删除”,直到进程释放文件资源。如果关闭所有应用程序,问题是否仍然存在?尤其要注意编辑器、文件探索器、命令shell或执行文件操作的任何后台任务(例如,如果您安装了tortoisesvn)。