Python 模块之shutil模块

#拷贝文件,可指定长度,fsrc和fdst都是一个文件对象
def copyfileobj(fsrc, fdst, length=16*1024)
shutil.copyfileobj(open("ss1", "r"), open("ss2", "w"), length=1024)

# 拷贝文件,dst必须可写,存在则覆盖
def copyfile(src, dst, *, follow_symlinks=True)
shutil.copyfile("ss1", "ss2")

#拷贝文件和权限,先copyfile后copymode
def copy(src, dst, *, follow_symlinks=True)
shutil.copy("ss1", "ss2")

#拷贝文件和所有状态信息,如修改时间等
def copy2(src, dst, *, follow_symlinks=True)
shutil.copy2( src, dst) 

#只拷贝状态信息,包括权限,组,用户,时间等
def copystat(src, dst, *, follow_symlinks=True)
shutil.copystat(src, dst)

#只拷贝权限信息,不更改文件内容,组和用户
def copymode(src, dst, *, follow_symlinks=True)
shutil.copymode(src, dst)

#移动或重命名
def move(src, dst, copy_function=copy2)
shutil.move(src, dst)  #移动文件或重命名 

#递归的复制文件内容及状态信息
def copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,
             ignore_dangling_symlinks=False)
shutil.copytree(olddir, newdir, ignore=ignore_patterns('*.pyc', 'tmp*'))
#忽略.pyc和.tmp结尾的文件

#递归删除一个目录以及目录内的所有内容
def rmtree(path, ignore_errors=False, onerror=None)
shutil.rmtree(src) 

#压缩打包
def make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,
                 dry_run=0, owner=None, group=None, logger=None)
base_name:  压缩打包后的文件名或者路径名
format:     压缩或者打包格式    "zip", "tar", "bztar"or "gztar"
    gztar:gzip压缩的tar文件
    bztar:bzip2格式的tar文件
    tar:未压缩的tar文件
    zip:ZIP文件
root_dir :   将哪个目录或者文件打包(也就是源文件)
shutil.make_archive('tarball','tar',root_dir='/root/data')
原文地址:https://www.cnblogs.com/ming5218/p/7966374.html