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()
  • 相关阅读:
    Python split()方法分割字符串
    Python创建线程
    Python find()方法
    webpack中‘vant’全局引入和按需引入【vue-cli】
    webpack中‘mint-ui’全局引入和按需引入【vue-cli】
    nginx中 处理post方式打开页面的报错405
    nginx中 vue路由去掉#后的配置问题
    webpack中 VUE使用搜狐ip库查询设备ip地址
    webpack中 VUE使用百度地图获取地理位置
    VUE动态设置网页head中的title
  • 原文地址:https://www.cnblogs.com/wsy1030/p/9019575.html
Copyright © 2011-2022 走看看