shutil 模块,高级文件操作模块,支持文件或文件夹的复制和删除
模块方法:
shutil.copyfileobj(fsrc, fdst[, length]):将类文件对象(在python中打开的文件)fsrc 的内容,拷贝到类文件对象 fdst 中,length 指定每次拷贝缓存大小
shutil.copyfile(src, dst):将文件 src 的内容拷贝到 dst 中,dst 如果是已经存在的文件,就会重写,如果 src 和 dst 是同一个文件会报错
shutil.copymode(src,dst):仅拷贝权限,不更改文件内容,组和用户,dst 一定是一个已经存在的文件
shutil.copystat(src,dst):拷贝所有的状态信息,包括权限,组,用户,时间等,是 copymode 的拓展
shutil.copy(src,dst):拷贝文件的内容以及权限,先 copyfile 后 copymode
shutil.copy2(src,dst):拷贝文件的内容以及文件的所有状态信息。先 copyfile 后 copystat
shutil.copytree(src, dst, symlinks=False, ignore=None):把 src 下所有文件及文件夹递归复制到 dst 中,dst 一定是不能之前存在的,symlinks 指定是否以符号链接形式拷贝,ignore 设置忽略的文件,需要一个可调用对象,可以由 ignore_patterns 获得
shutil.ignore_patterns(*patterns):用于 copytree
shutil.rmtree(path, ignore_errors=False, onerror=None):递归删除 path 下所有文件
shutil.move(src, dst):递归移动 src 文件或文件夹至 dst 中
shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]]):压缩打包一个文件或文件夹,base_name 设置压缩打包后的文件名或者路径名,format 设置压缩或者打包格式,"zip", "tar", "bztar","gztar",root_dir 设置将哪个目录或者文件打包(也就是源文件)
shutil.get_archive_formats():返回支持压缩的格式列表
shutil.register_archive_format(name, function[, extra_args[, description]]):添加一个压缩方法
shutil.unregister_archive_format(name):移除一个压缩方法