• 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()
  • 相关阅读:
    ecplise自动提示失效,使用补全自动提示快捷键(Alt+/),但只显示“No Default Proposals”
    maven构建ssh工程
    pom.xml中坐标的组成
    依赖传递的规则
    maven中导入包版本冲突的解决
    maven工程的拆分与聚合
    maven的生命周期
    maven的常用命令
    在pom.xml中引入jar包坐标的依赖范围
    【stl的神奇操作】用集合搞定区间相交
  • 原文地址:https://www.cnblogs.com/wsy1030/p/9019575.html
Copyright © 2020-2023  润新知