shutil模块是python标准库中提供的,主要用来做文件和文件夹的拷贝、移动、删除等,还可以做文件和文件夹的压缩、解压缩操作。
os模块提供了对目录或文件的一般操作,shutil模块作为补充,提供了移动、肤质、压缩、解压等操作,这些都是os模块没有提供的。
【操作-示例拷贝】
#测试shutil模块的用法:拷贝
import shutil
#简单拷贝文件
shutil.copyfile(‘1.txt’,‘1_copy.txt') #1.txt是原文件,1_copy.txt需要拷贝到的文件名。
#拷贝目录
shutil.copytree('x/xx','新目录') #新目录必须是不存在,如果新目录存在则报异常
shutil.copytree('x/xx','新目录',igonre=shutil.ignore_pattenrns('*.txt','*.html'))#igonre 该属性判断不想被拷贝到新目录里面,这里设置不被拷贝的是后缀为txt和html的文件不拷贝
【操作-示例压缩】
#测试shutil用法,压缩
import shutil
#压缩,解压缩
shutil.make_archive("new/new_ya","zip","old/old_file") #第一个参数是压缩后的名字以及路径,第二个参数是压缩的格式,第三个参数要压缩的内容
import zipfile #另一个压缩工具
zl=zipfile.ZipFile("a.zip",'w') #设置压缩文件名以及写入格式
zl.write('1.txt')#往压缩里面写文件
zl.close()
#解压缩
z2=zipfile.ZipFile("a.zip",'r') #解压文件
z2.extractall('xx') #解压到那个目录里面
z2.close()