Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么删除一个目录结构,然后立即重新创建它会引发异常?_Python_Windows_Filesystems - Fatal编程技术网

Python 为什么删除一个目录结构,然后立即重新创建它会引发异常?

Python 为什么删除一个目录结构,然后立即重新创建它会引发异常?,python,windows,filesystems,Python,Windows,Filesystems,我已将我的问题简化为: import os, shutil shutil.rmtree("wtf", True) os.makedirs("wtf") 现在,当我运行此命令时,有时会出现以下错误: Traceback (most recent call last): File "wtf.py", line 4, in <module> os.makedirs("wtf") File "C:\Program Files (x86)\Python34\lib\os.p

我已将我的问题简化为:

import os, shutil

shutil.rmtree("wtf", True)
os.makedirs("wtf")
现在,当我运行此命令时,有时会出现以下错误:

Traceback (most recent call last):
  File "wtf.py", line 4, in <module>
    os.makedirs("wtf")
  File "C:\Program Files (x86)\Python34\lib\os.py", line 244, in makedirs
    mkdir(name, mode)
PermissionError: [WinError 5] Access is denied: 'wtf'
回溯(最近一次呼叫最后一次):
文件“wtf.py”,第4行,在
os.makedirs(“wtf”)
makedirs中的文件“C:\Program Files(x86)\Python34\lib\os.py”,第244行
mkdir(名称、模式)
PermissionError:[WinError 5]访问被拒绝:“wtf”

什么原因可能导致这种情况?

如果不是立即发生错误,例如如果目录根本不存在,是否仍会发生错误?请尝试
shutil.rmtree(“wtf”)
。您将看到该目录没有被删除,因为您无法删除该目录。(如果第二个参数为
True
,则错误将被忽略)@falsetru Nope。事实上,将
assert(os.path.isdir(“wtf”)==False)
放在两行之间从来都不会失败。@mhlester你能重新表述一下吗,我不确定你的意思。我的意思是问,如果你只是在紧接着重新创建它时才发生错误,比如它是某种竞争条件,或者在该位置生成任何目录时发生错误