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)



原文地址:https://www.cnblogs.com/Alanpy/p/5056598.html