python基礎學習shutil高級的文件,目錄,壓縮包處理模塊
shutil高級的文件,目錄,壓縮包處理模塊
import shutil
復制
shutil.copyfileobj(f1,f2) #從一個文件對接復制到另一個文件對象,需要先打開文件
shutil.copyfile() #拷貝文件
shutil.copystat() #只拷貝文件狀態信息 包括 modebits,atime,mtime,flags
shutil.copymode() #值拷貝權限。內容和組,用戶均不改變
shutil.copy() #拷貝文件和權限
shutil.copy2() #同時拷貝文件和狀態信息
shutil.copytree() #遞歸拷貝文件或目錄
shutil.rmtree() #遞歸刪除文件或目錄
shutil.move() #移動文件
壓縮包
shutil.make_archive(base_name,format,..) 創建壓縮包並返回文件路徑
base_name 壓縮包的文件名
format:壓縮包的種類 ("zip","tar","gztar","bztar")
root_dir:壓縮的文件路徑
owner:用戶,默認當前用戶
group:組,默認當前組
logger:用於記錄日誌,通常是logging.logger對象
例:shutil.make_archive("www","gztar",root_dir="/home/www")
shutil對壓縮包的處理是調用了zipfile和tarfile 兩個模塊來進行處理
使用這兩個模塊進行解壓縮
import zipfile
z = zipfile.zipfile(‘www/zip‘,‘r‘)
z.extractall()
z.close
import tarfile
tar = tarfile.open(‘www.tar‘,‘r‘)
tar.extractall()
tar.close
import gzip import os def un_gz(file_name): """ungz zip file""" f_name = file_name.replace(".gz", "") #獲取文件的名稱,去掉 g_file = gzip.GzipFile(file_name) #創建gzip對象 open(f_name, "w+").write(g_file.read()) #gzip對象用read()打開後,寫入open()建立的文件裏。 g_file.close() #關閉gzip對象
python基礎學習shutil高級的文件,目錄,壓縮包處理模塊