shutil.rmtree(path, ignore_errors=False, onerror=None)

本文介绍了Python标准库shutil中的rmtree函数,用于删除整个目录树。文章提供了该函数的基本用法,包括如何设置ignore_errors参数以忽略删除过程中可能发生的错误,并通过一个具体的应用实例展示了如何在命令行参数中加入选项以决定是否清理指定的目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shutil.rmtree(path, ignore_errors=False, onerror=None)


函数功能及用法:

删除整个path指向的整个目录树;

path必须指向一个目录(而不是指向目录的符号链接);

如果ignore_errors=True,清除失败导致的错误将会被忽略;如果ignore_errors=False,清除失败时将会调用由onerrors指定的程序来处理此类错误;如果忽略这一参数设定,清除失败时将会弹出一个exception。


应用(我遇到的实例):

import shutil

import argparse

parser = argparse.ArgumentParser()

parser.add_argument('--model_dir', type=str, default='./model',

                    help='Base directory for the model.')

parser.add_argument('--clean_model_dir', action='store_true',
                    help='Whether to clean up the model directory if present.')

FLAGS, unparsed = parser.parse_known_args()

 if FLAGS.clean_model_dir:

        shutil.rmtree(FLAGS.model_dir, ignore_errors=True)

这样就会将./model文件夹全部删除。

return self(f, *args, **kw) File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\site-packages\pip\_vendor\tenacity\__init__.py", line 381, in __call__ do = self.iter(retry_state=retry_state) File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\site-packages\pip\_vendor\tenacity\__init__.py", line 327, in iter raise retry_exc.reraise() File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\site-packages\pip\_vendor\tenacity\__init__.py", line 160, in reraise raise self.last_attempt.result() File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\concurrent\futures\_base.py", line 451, in result return self.__get_result() File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\concurrent\futures\_base.py", line 403, in __get_result raise self._exception File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\site-packages\pip\_vendor\tenacity\__init__.py", line 384, in __call__ result = fn(*args, **kwargs) File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\site-packages\pip\_internal\utils\misc.py", line 130, in rmtree shutil.rmtree(dir, ignore_errors=ignore_errors, onerror=rmtree_errorhandler) File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\shutil.py", line 750, in rmtree return _rmtree_unsafe(path, onerror) File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\shutil.py", line 615, in _rmtree_unsafe _rmtree_unsafe(fullname, onerror) File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\shutil.py", line 615, in _rmtree_unsafe _rmtree_unsafe(fullname, onerror) File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\shutil.py", line 620, in _rmtree_unsafe onerror(os.unlink, fullname, sys.exc_info()) File "C:\nxp\eIQ_Toolkit_v1.9.0\python\Lib\shutil.py", line 618, in _rmtree_unsafe os.unlink(fullname) PermissionError: [WinError 5] 拒绝访问。: 'C:\\nxp\\eIQ_Toolkit_v1.9.0\\python\\Lib\\site-packages\\~ensorflow\\compiler \\tf2tensorrt\\_pywrap_py_utils.pyd'
03-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值