【Python】shutil和zipfile模块学习笔记

shutil模块常用方法

  • shutil.copy() 复制文件
    用法:shutil.copy(src, dst)
    返回值:dst

  • shutil.copy2() 复制文件,保留元数据(属性面板中的内容)

  • shutil.copyfileobj() 复制文件内容
    用法:shutil.copyfilleobject(oepn(src, ‘r’), open(dst, ‘w’))
    返回值:None
    备注:两个文件后缀名可不同,如果发生编码问题,可用二进制读写方式,目标文件也可用a方式打开

  • shutil.copyfile() 复制文件内容
    用法:shutil.copyfile(src, dst)
    备注:两个文件的后缀名可不同,无需打开文件操作

  • shutil.copytree() 复制整个文件目录
    返回值:dstpath
    备注:目标文件夹,必需不存在

  • shutil.copymode() 拷贝权限

  • shutil.copystat() 拷贝元数据

  • shutil.rmtree() 移除整个目录
    返回值:None
    备注:空目录或非空目录均可,不经过回收站

  • shuitl.move() 移动文件或文件夹
    返回值:dst

  • shutil.which() 检查命令对应的文件路径
    用法:shutil.which(‘python’)
    返回值:python.exe所在目录的完整路径

  • shutil.disk_usage() 查看磁盘使用信息
    用法:shutil.disk_usage(‘D:’)
    返回值:元组 usage(total=, used=, free=)
    备注:单位字节

shutil模块归档和解包操作

归档:将多个文件合并到一个文件中

解包:归档的反向操作

压缩:将多个文件进行有损或无损地合并到一个文件中

解压:压缩的反向操作

  • shutil.make_archive() 归档
    用法:shutil.make_archive(归档文件名,后缀名,归档源路径)
    e.g. shutil.make_archive(r’D:\file’, ‘zip’, r’D:\xxx\xxx’)
    返回值:归档文件名.后缀名,e.g. D:\file.zip

  • shutil.unpakc_archive() 解包
    用法:shutil.unpack_archive(归档文件名,解包路径)
    e.g. shutil.unpack_archive(r’D:\file.zip’, r’D:\file’)
    返回值:None
    备注:解包路径不存在时会创建

  • shutil.get_archive_formats() 查看系统支持的归档格式
    返回值:列表,列表元素为二元组

  • shutil.get_unpack_formats() 查看系统支持的解包格式
    返回值:列表,列表元素为三元组

zipfile模块压缩文件、解压文件操作

import zipfile

  • zipfile.ZIPFILE() 打开或新建一个压缩文件,第二个参数,r、w、a可选
zp = zifile.ZipFile(r'D:\ziptest.zip', 'w')
  • zipfile.getinfo() 查看压缩文件信息
    返回值:元组,包含filename、filemode、filesize信息
zp.getinfo('A.pdf')
  • zipfile.infolist() 获取所有信息列表

  • zipinfo.namelist() 获取名称列表

  • zipfile.write() 将文件添加到压缩文件中

zp.write(r'D:\A.exe', 'B.exe')  #需要添加的文件, 添加后的文件名
  • zipfile.Setpassword() 加密
zp.Setpassword('XXX'.encode)
  • zipfile.extractall() 解压所有文件到指定路径
zp.extractall(r'D:\XXX')
  • zipfile.extract() 解压单个文件到指定路径
zp.extract('A.pdf', r'D:\XXX')
  • zipfile.close() 关闭压缩文件
zp.close()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章