#拷贝文件,可指定长度,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')