shutil 您所在的位置:网站首页 python保存后还能修改吗 shutil

shutil

2023-08-20 10:17| 来源: 网络整理| 查看: 265

递归地将以 src 为根起点的整个目录树拷贝到名为 dst 的目录并返回目标目录。 所需的包含 dst 的中间目录在默认情况下也将被创建。

目录的权限和时间会通过 copystat() 来拷贝,单个文件则会使用 copy2() 来拷贝。

如果 symlinks 为真值,源目录树中的符号链接会在新目录树中表示为符号链接,并且原链接的元数据在平台允许的情况下也会被拷贝;如果为假值或省略,则会将被链接文件的内容和元数据拷贝到新目录树。

当 symlinks 为假值时,如果符号链接所指向的文件不存在,则会在拷贝进程的末尾将一个异常添加到 Error 异常中的错误列表。 如果你希望屏蔽此异常那就将可选的 ignore_dangling_symlinks 旗标设为真值。 请注意此选项在不支持 os.symlink() 的平台上将不起作用。

如果给出了 ignore,它必须是一个可调用对象,该对象将接受 copytree() 所访问的目录以及 os.listdir() 所返回的目录内容列表作为其参数。 由于 copytree() 是递归地被调用的,ignore 可调用对象对于每个被拷贝目录都将被调用一次。 该可调用对象必须返回一个相对于当前目录的目录和文件名序列(即其第二个参数的子集);随后这些名称将在拷贝进程中被忽略。 ignore_patterns() 可被用于创建这种基于 glob 风格模式来忽略特定名称的可调用对象。

如果发生了(一个或多个)异常,将引发一个附带原因列表的 Error。

如果给出了 copy_function,它必须是一个将被用来拷贝每个文件的可调用对象。 它在被调用时会将源路径和目标路径作为参数传入。 默认情况下,copy2() 将被使用,但任何支持同样签名(与 copy() 一致)都可以使用。

如果 dirs_exist_ok 为(默认的)假值且 dst 已存在,则会引发 FileExistsError。 如果 dirs_exist_ok 为真值,则如果拷贝操作遇到已存在的目录时将继续执行,并且在 dst 目录树中的文件将被 src 目录树中对应的文件所覆盖。

引发一个 审计事件 shutil.copytree 附带参数 src, dst。

在 3.3 版更改: 当 symlinks 为假值时拷贝元数据。 现在会返回 dst。

在 3.2 版更改: 添加了 copy_function 参数以允许提供定制的拷贝函数。 添加了 ignore_dangling_symlinks 参数以便在 symlinks 为假值时屏蔽目标不存在的符号链接。

在 3.8 版更改: 可能会在内部使用平台专属的快速拷贝系统调用以更高效地拷贝文件。 参见 依赖于具体平台的高效拷贝操作 一节。

3.8 新版功能: dirs_exist_ok 形参。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有