shutil模块

什么是shutil

  该模块提供了更加丰富的文件操作功能,压缩,解压缩,获取文件信息等

提供的功能:

    shutil.copyfileobj   拷贝文件 提供两个文件对象 长度表示缓冲区大小
    shutil.copyfile(src, dst) 拷贝文件 提供两个文件路径 
    shutil.copymode()  拷贝文件权限 提供两个文件路径
    shutil.copystat(src, dst) 拷贝文件状态信息 最后访问 最后修改 权限 提供两个文件路径
    shutil.copy(src, dst) 拷贝文件和权限   提供两个文件路径
    shutil.copy2(src, dst) 拷贝文件和状态信息 提供两个文件路径

    shutil.ignore_patterns("mp3","*.py")
    shutil.copytree(src, dst, symlinks=False, ignore=None) 拷贝目录  
    symlinks默认False将软连接拷贝为硬链接  否则拷贝为软连接

    shutil.rmtree 删除目录 可以设置忽略文件
    shutil.move(src, dst)    移动目录和文件

压缩与解压缩测试

import shutil
#压缩,  文件名 格式  需要压缩的文件所在文件夹
shutil.make_archive("压缩测试","zip",r"/Users/jerry/PycharmProjects/备课/常用模块五期")
#解压缩 #压缩,  文件名  解压后的文件存放目录
shutil.unpack_archive("压缩测试.zip",r"/Users/jerry/PycharmProjects/备课/常用模块五期/
                      
# #压缩当前执行文件所在文件夹内容到当前目录
# shutil.make_archive("test","zip")
#
# #压缩root_dir指定路径的文件到当前目录
# shutil.make_archive("test","zip",root_dir=r"/Users/jerry/PycharmProjects/work/re模块")
#

# #压缩root_dir指定路径的文件到base_name指定路径
# shutil.make_archive("/Users/jerry/PycharmProjects/work/压缩文件/test","zip",root_dir=r"/Users/jerry/PycharmProjects/work/re模块")

                      
# #压缩root_dir指定路径的文件到base_name指定的压缩文件  压缩文件仅包含re模块下的的内容
# shutil.make_archive("test",
#                     "zip",
#                     root_dir=r"/Users/jerry/PycharmProjects/work",)


# 当指定base_dir时  则优先使用base_dir 与root_dir不同的是 压缩文件不仅包含re模块下的内容 还包括re模块的完整文件夹层级
# # 解压后得到Users ->jerry -> PycharmProject->work->re模块
# shutil.make_archive("test",
#                     "zip",
#                     root_dir=r"/Users/jerry/PycharmProjects/work/re模块",
#                     base_dir=r"/Users/jerry/PycharmProjects/work/re模块")
 
原文地址:https://www.cnblogs.com/ShenJunHui6/p/10742410.html