【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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章