shutil模塊常用方法
shutil.copy() 複製文件
用法:shutil.copy(src, dst)
返回值:dstshutil.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() 移動文件或文件夾
返回值:dstshutil.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.zipshutil.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()