- 1.shutil.copy(src, dst)
- 2.shutil.copytree
- 3.shutil.rmtree(path, ignore_errors=False, οnerrοr=None)
- 4.shutil.move(src, dst, copy_function=copy2)
将文件 src 拷贝到文件或目录 dst。 src 和 dst 应为字符串。 如果 dst 指定了一个目录,文件将使用 src 中的基准文件名拷贝到 dst。 返回新创建文件的路径。如果 follow_symlinks 为假值且 src 为符号链接,则 dst 也将被创建为符号链接。 如果 follow_symlinks 为真值且 src 为符号链接,dst 将成为 src 所指向的文件的一个副本。
2.shutil.copytreeshutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False, dirs_exist_ok=False)
将以 src 为根起点的整个目录树拷贝到名为 dst 的目录并返回目标目录。 dirs_exist_ok 指明是否要在 dst 或任何丢失的父目录已存在的情况下引发异常。
3.shutil.rmtree(path, ignore_errors=False, οnerrοr=None)删除一个完整的目录树;path 必须指向一个目录(但不能是一个目录的符号链接)。 如果 ignore_errors 为真值,删除失败导致的错误将被忽略;如果为假值或是省略,此类错误将通过调用由 onerror 所指定的处理程序来处理,或者如果此参数被省略则将引发一个异常。
4.shutil.move(src, dst, copy_function=copy2)递归地将一个文件或目录 (src) 移至另一位置 (dst) 并返回目标位置。如果目标是已存在的目录,则 src 会被移至该目录下。 如果目标已存在但不是目录,它可能会被覆盖,具体取决于 os.rename() 的语义。 如下所示,简单的创建文件夹的例子,源码如下所示:
import os
import shutil
train_images_dir='f:\data';
if os.path.isdir(train_images_dir):
shutil.rmtree(train_images_dir)
os.makedirs(train_images_dir)