的功能是强大很多,从底层删除文件。
10.shutil.move(src, dst)
递归的去移动文件
11.shutil.make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None)
创建压缩包并返回文件路径,例如:zip、tar
(1)base_name:压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
如:www >>保存至当前路径
如:/users/wupeiqi/www ==>>保存至/Users/wupeiqi/下面
(2)format:压缩包种类,"zip","tar","bztar","gztar"
(3)root_dir:要压缩的文件夹路径(默认当前目录)
(4)owner:用户,默认当前用户
(5)logger:用于记录日志,通常是logging.Logger对象
import shutil
ret = shutil.make_archive("只能压缩文件", 'gztar', root_dir='/home/zhuzhu/第五天/copytrees')
import
shutil
ret
=
shutil.make_archive(
"/Users/wupeiqi/wwwwwwwwww"
,
'gztar'
, root_dir
=
'/Users/wupeiqi/Downloads/test'
)
make_archive()只能压缩目录(directory),不能压缩文件(file)或这.py文件,只能是整体把文件目录进行压缩。
shutil对文件的压缩是通过调用zipfile和tarfile来进行压缩的。
zipfile 模块压缩解压
zipfile能够指定压缩那个目录的文件,就是可以自助定义压缩,也是比较好的,我们可以压缩文件,shutil只能整体压缩目录,而zipfile能够压缩各个文件(File)类型。
实例如下:
压缩
import zipfile
'''调用zipfile模块,随便压缩问价'''
z = zipfile.ZipFile("想压谁压谁.zip","w") #创建一个压缩包
z.write("/home/zhuzhu/第五天/文件2") #向压缩包添加压缩文件2
z.write("/home/zhuzhu/第五天/time_sleep.py") #向压缩包添加Python脚本time_sleep.py
z.close() #关闭压缩文件
解压
import zipfile
'''调用zipfile模块解压文件'''
z = zipfile.ZipFile("想压谁压谁.zip","r") #解压文件
z.extractall() #调用extract()解压
z.close()
tarfile 模块压缩解压
tar压缩
import tarfile
z = tarfile.open("test.tar","w")
'''打开压缩文件,如果压缩包不存在,则重新创建,如果存在,则删除里面的内容'''
z.add("/home/zhuzhu/第五天/文件3") #向压缩包添加压缩文件
z.add("/home/zhuzhu/第五天/sys_argv.py")
z.close() #关闭压缩包
tar解压
import tarfile
'''解压文件'''
z = tarfile.open("test.tar","r")
z.extractall()
z.close()
zipfile和tarfile压缩解压文件。