该模块提供了更加丰富的文件操作功能,压缩,解压缩,获取文件信息等
提供的功能:
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模块")