python内置模块之shutil模块,文件操作

一、简介

shutil是Python标准库中的一个模块,提供了一些用于文件和目录操作的高级函数。它是"shell utilities"(即shell实用程序)的缩写,旨在简化常见的文件和目录操作任务。
shutil模块提供了一些功能强大且易于使用的函数,例如复制文件和目录、移动文件和目录、删除文件和目录等。它还提供了一些其他功能,如创建符号链接、改变文件权限等。

二、相关函数

1.shutil.copytree(src,…,dirs_exist_ok=False):递归地复制整个目录树。

  • src:源目录的路径。
  • dst:目标目录的路径。
  • symlinks:是否复制符号链接本身。
  • ignore:回调函数,用于指定要忽略的文件和目录。
  • copy_function:复制函数,控制如何复制文件。
  • ignore_dangling_symlinks:是否忽略指向不存在目标的符号链接。
  • dirs_exist_ok:是否允许目标目录已存在。
    2.shutil.copy(src, dst, follow_symlinks=True):复制文件。
  • src:源文件的路径。
  • dst:目标文件的路径。
  • follow_symlinks:是否复制符号链接指向的文件。
    3.shutil.rmtree(path, …, dir_fd=None):递归地删除整个目录树。
  • path:要删除的目录的路径。
  • ignore_errors:是否忽略错误。
  • onerror:错误处理的回调函数。
  • dir_fd:目录文件描述符。
    4.shutil.copyfile(src, dst, follow_symlinks=True):复制文件内容。
  • src:源文件的路径。
  • dst:目标文件的路径。
  • follow_symlinks:是否复制符号链接指向的文件。
    5.shutil.move(src, dst, copy_function=copy2):移动文件或目录。
  • src:源文件或目录的路径。
  • dst:目标位置的路径。
  • copy_function:复制函数,控制如何复制文件。
    6.shutil.chown(path, user=None, group=None):更改文件或目录的所有者和/或组。
  • path:文件或目录的路径。
  • user:新的所有者用户名。
  • group:新的组名。
    7.shutil.copy2(src, dst, follow_symlinks=True):复制文件,并尽可能地保留源文件的元数据。
  • src:源文件的路径。
  • dst:目标文件的路径。
  • follow_symlinks:是否复制符号链接指向的文件。
    8.shutil.copyfileobj(fsrc, fdst, length=16*1024):将一个文件对象的内容复制到另一个文件对象。
  • fsrc:源文件对象。
  • fdst:目标文件对象。
  • length:每次读取的字节数。
    9.shutil.copymode(src, dst, follow_symlinks=True):复制源文件的权限位(模式)到目标文件。
  • src:源文件的路径。
  • dst:目标文件的路径。
  • follow_symlinks:是否复制符号链接指向的文件。
    10.shutil.copystat(src, dst, follow_symlinks=True):复制源文件的状态(权限位、最后访问时间等)到目标文件。
  • src:源文件的路径。
  • dst:目标文件的路径。
  • follow_symlinks:是否复制符号链接指向的文件。
三、异常类,用于捕获异常

1.shutil.Error:表示在shutil模块的操作中发生的一般错误。
2.shutil.ExecError:表示在执行外部命令时发生的错误。
3.shutil.ReadError:表示在读取归档文件时发生的错误。
4.shutil.RegistryError:表示在注册表操作中发生的错误。
5.shutil.SameFileError:表示在尝试将文件复制到其自身时发生的错误。
6.shutil.SpecialFileError:表示在处理特殊文件(如设备文件或管道)时发生的错误。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值