设为首页 加入收藏

TOP

day5模块学习--shutil模块(二)
2017-09-30 17:56:44 】 浏览:2953
Tags:day5 模块 学习 --shutil
的功能是强大很多,从底层删除文件。

    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对象

    #将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录

    import shutil
  ret = shutil.make_archive("只能压缩文件", 'gztar', root_dir='/home/zhuzhu/第五天/copytrees')

    #将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录  

    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压缩解压文件。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python学习——web框架 下一篇day5模块学习--sys模块

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目