一、简介
shutil是Python标准库中的一个模块,提供了一些用于文件和目录操作的高级函数。它是"shell utilities"(即shell实用程序)的缩写,旨在简化常见的文件和目录操作任务。
shutil模块提供了一些功能强大且易于使用的函数,例如复制文件和目录、移动文件和目录、删除文件和目录等。它还提供了一些其他功能,如创建符号链接、改变文件权限等。
二、相关函数
- shutil.copytree(src,...,dirs_exist_ok=False):递归地复制整个目录树。
- src:源目录的路径。
- dst:目标目录的路径。
- symlinks:是否复制符号链接本身。
- ignore:回调函数,用于指定要忽略的文件和目录。
- copy_function:复制函数,控制如何复制文件。
- ignore_dangling_symlinks:是否忽略指向不存在目标的符号链接。
- dirs_exist_ok:是否允许目标目录已存在。
- shutil.copy(src, dst, follow_symlinks=True):复制文件。
- src:源文件的路径。
- dst:目标文件的路径。
- follow_symlinks:是否复制符号链接指向的文件。
- shutil.rmtree(path, ..., dir_fd=None):递归地删除整个目录树。
- path:要删除的目录的路径。
- ignore_errors:是否忽略错误。
- onerror:错误处理的回调函数。
- dir_fd:目录文件描述符。
- shutil.copyfile(src, dst, follow_symlinks=True):复制文件内容。
- src:源文件的路径。
- dst:目标文件的路径。
- follow_symlinks:是否复制符号链接指向的文件。
- shutil.move(src, dst, copy_function=copy2):移动文件或目录。
- src:源文件或目录的路径。
- dst:目标位置的路径。
- copy_function:复制函数,控制如何复制文件。
- shutil.chown(path, user=None, group=None):更改文件或目录的所有者和/或组。
- path:文件或目录的路径。
- user:新的所有者用户名。
- group:新的组名。
- shutil.copy2(src, dst, follow_symlinks=True):复制文件,并尽可能地保留源文件的元数据。
- src:源文件的路径。
- dst:目标文件的路径。
- follow_symlinks:是否复制符号链接指向的文件。
- shutil.copyfileobj(fsrc, fdst, length=16*1024):将一个文件对象的内容复制到另一个文件对象。
- fsrc:源文件对象。
- fdst:目标文件对象。
- length:每次读取的字节数。
- shutil.copymode(src, dst, follow_symlinks=True):复制源文件的权限位(模式)到目标文件。
- src:源文件的路径。
- dst:目标文件的路径。
- follow_symlinks:是否复制符号链接指向的文件。
- shutil.copystat(src, dst, follow_symlinks=True):复制源文件的状态(权限位、最后访问时间等)到目标文件。
- src:源文件的路径。
- dst:目标文件的路径。
- follow_symlinks:是否复制符号链接指向的文件。
三、异常类,用于捕获异常
- shutil.Error:表示在shutil模块的操作中发生的一般错误。
- shutil.ExecError:表示在执行外部命令时发生的错误。
- shutil.ReadError:表示在读取归档文件时发生的错误。
- shutil.RegistryError:表示在注册表操作中发生的错误。
- shutil.SameFileError:表示在尝试将文件复制到其自身时发生的错误。
- shutil.SpecialFileError:表示在处理特殊文件(如设备文件或管道)时发生的错误。