zoukankan      html  css  js  c++  java
  • python笔记07-----打包模块(shutil,zipfile,tarfile)

    1.shutil模块

    复制删除

     1   import shutil
     2   shutil.copy('filename', 'test2')      # copy方法
     3   
     4   f1 = open('filename',encoding='utf-8')   # 复制文件copyfileobj方法
     5   f2 = open('f','w',encoding='utf-8')
     6   shutil.copyfileobj(f1, f2)
     7   
     8   
     9   shutil.copyfile('filename','test3')      # 复制文件copyfile方法
    10   shutil.move("test3", "test4")         # 文件的移动和改名
    11   shutil.copymode('test','test1')           # 权限copy
    12   shutil.copystat("test","test1")           # 复制文件的状态
    13   shutil.copy2('test','test1')              # 复制文件和状态
    14   shutil.copytree('dir1','dir2')        # 递归复制 必须是目录
    15   shutil.rmtree('dir1')              # 删除目录 多个用逗号分隔

    打压缩包

    shutil.make_archive(‘base_name’,’format’,’root_dir’)

    base_name:压缩包的文件名,也可以使压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径

    format:压缩包种类,”zip”,”tar”,”bztar”,”gztar”

    root_dir:要压缩的文件夹路径(默认当前目录)

    owner:用户 默认当前

    group:组,默认当前

    logger:用于记录日志,通常是logging.Logger对象

    1 import shutil
    2 import os
    3 dir = os.path.exists(r'/data/') #判断目录是否存在
    4 if dir == False:            #如果不存在
    5     os.makedirs('/data/1/2/')   #创建目录
    6 shutil.make_archive("data", "gztar", "/data/") #打成tar.gz包

    解包和其他方法

    unpack_archive()

    功能:解包操作
    格式:shutil.unpack_archive('归档文件路径','解包目标文件夹')
    返回值:None
    注意:文件夹不存在会新建文件夹
    

    get_archive_formats()

    功能:获取当前系统已注册的归档文件格式(后缀)
    格式:shutil.get_archive_formats()
    返回值:列表   [(后缀,解释),(后缀,解释),(后缀,解释)...]
    

    get_unpack_formats()

    功能:获取当前系统已经注册的解包文件格式(后缀)
    格式:shutil.get_unpack_formats()
    返回值:列表   [(后缀,解释),(后缀,解释),(后缀,解释)...]

     

    2.zipfile模块 -单独压缩/解压文件

    压缩

    1 import zipfile
    2 z = zipfile.ZipFile("d5.zip", "w")
    3 z.write("笔记3")
    4 z.write("笔记2")
    5 z.close()

    解压

    1 z = zipfile.ZipFile("d5.zip", "r")
    2 z.extractall("d5.zip", "C:\")
    3 z.close()

    3.tarfile模块

    压缩

    1 import tarfile
    2 tar = tarfile.open('tarname.tar','w') #tarname.tar 是压缩后的文件名
    3 tar.add('test11', arcname='name.zip') #test11 是存在的目录,arcname可以不加
    4 tar.close()

    解压

    1 import tarfile
    2 tar = tarfile.open('C:\tarname.tar','r')
    3 tar.extractall('.') #可设置地址
    4 tar.close()
  • 相关阅读:
    学习java集合LinkedHastSet
    学习java,equals方法
    学习java,入门语言java的感概
    学习java哈希值,java入门编程语言
    学习java集合HashSet
    学习java集合set集合
    学习java集合LinkedList
    学习java集合Arraylist
    学习java集合list集合
    学习Java数据结构(入门选Java)
  • 原文地址:https://www.cnblogs.com/wsy1030/p/9019575.html
Copyright © 2011-2022 走看看