Python 文件操作模块 shutil 详解

1.导入模块 shutil

import shutil

2.shutil方法

2.1 shutil.copy(src,dst) //将 src 复制到 dst 保留文件权限

例:将Alan复制到D

    shutil.copy('Alan', 'D')

2.2 shutil.copy2(src,dst) //复制文件并复制权限和 状态信息(比如创建日期)

例:将C复制到D

    shutil.copy2('C','D')

2.3 shutil.copystat(src, dst) //复制src文件属性(日期,权限) 到 dst 必须存在文件dst (不复制文件内容)

例:复制A的属性到B

    shutil.copystat('A', 'B')

2.4 shutil.copyfile(src, dst) //只复制文件 不复制文件状态/权限

例:将Alan复制到D

    shutil.copyfile('Alan', 'D')

2.5 shutil.make_archive(basename,type,root_dir,format) //文件目录归档

basename 文件名(不包含后缀) 可以指定路径指定保存到哪个目录(例:/www/a 如果为gztar压缩类型则保存为 /www/a.tar.gz ) 默认为当前目录

type:

gztar 压缩为 tar.gz 格式

bztar 压缩为 tar.bz2 格式

zip 压缩为 zip 格式

tar 压缩为 tar 格式

root_dir 指定要压缩的文件路径

format:

owner 用户 默认为当前用户

group 组 默认当前组

例:将/opt/data压缩到/opt/alan.tar.gz

    shutil.make_archive('/opt/alan','gztar',root_dir='/opt/data')

2.6 shutil.copytree(src, dst) //递归复制目录

例:将C目录复制到D

    shutil.copytree('C', 'D')

2.7 shutil.rmtree(dir) //递归删除目录

例:删除目录Alan

    shutil.rmtree('Alan')

2.8 shutil.move(src,dst) //移动文件或目录

例:将A移动到B

    shutil.move('A','B')

2.9 shutil.copyfileobj(src,dst,length=1024) //复制文件 length指定复制文件内容的大小 单位字节

例:复制A的1024字节到B

    shutil.copyfileobj('A','B',length=1024)