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)