我正在用Python编写代码,在其中检查是否存在某个文件夹。如果是这样,我将其删除并创建一个新的(具有相同名称)。代码如下:
if os.path.exists(output_folder):
shutil.rmtree(output_folder)
os.makedirs(output_folder)
这段代码可以正常工作,当我使用来output_folder
打开该特定代码时,请接受windows explorer
。打开时,我的代码中出现以下错误:
WindowsError: [Error 5] Access is denied: [foldername]
同时,windows explorer
将自身切换到foldername
的父目录,并引发错误。
有没有办法让python忽略错误并继续运行,还是我要求系统提供一些不可能的东西?
我尝试使用,shutil.rmtree(output_folder, ignore_errors=True)
但没有任何改变。
您可以使用Python的异常处理来捕获错误。在再次创建文件夹以使Windows资源管理器有机会关闭之前,短暂的延迟也可能使您受益:
import shutil
import time
try:
shutil.rmtree(output_folder)
except WindowsError as e:
print("Failed to delete") # Or just pass
time.sleep(0.5)
os.makedirs(output_folder)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句