import shutil
高階的檔案,資料夾,壓縮包的處理模組,也主要用於檔案的拷貝
shutil.copyfileobj(fsrc,fdst[,length]): 將檔案的內容拷貝到另一個檔案(可以指定length長度進行拷貝)
import shutil shutil.copyfileobj(open(`old.txt`,`r`),open(`new.txt`,`w`))
shutil.copyfile(src,dst): 拷貝檔案
import shutil shutil.copyfile(`f1.log`,`f2.log`)
shutil.copymode(src,dst): 僅拷貝許可權,內容、組、使用者均不變
import shutil shutil.copymode(`f1.log`, `f2.log`)
shutil.copystat(src,dst): 拷貝狀態的資訊,包括:mode bits,atime,mtime,flags
import shutil shutil.copystat(`f1.log`, `f2.log`)
shutil.copy(src,dst): 拷貝檔案和許可權
import shutil shutil.copy(`f1.log`, `f2.log`)
shutil.copy2(src,dst): 拷貝檔案和狀態資訊
import shutil shutil.copy2(`f1.log`, `f2.log`)
shutil.copytree(src,det,symlinks=False,ignore=None): 遞迴的去拷貝檔案
import shutil shutil.copytree(`folder1`, `folder2`, ignore=shutil.ignore_patterns(`*.pyc`, `tmp*`))
shutil.rmtree(path[,ignore_errors[,onerror]]): 遞迴的去刪除檔案
import shutil shutil.rmtree(`folder1`)
shutil.move(src,dst): 遞迴的去移動檔案(重新命名)
import shutil shutil.move(`folder1`, `folder3`)
shutil.make_archive(base_name, format,…): 建立壓縮包並返回檔案路徑,例如:zip、tar
- base_name: 壓縮包的檔名,也可以是壓縮包的路徑。只是檔名時,則儲存至當前目錄,否則儲存至指定路徑(例:Presley=>儲存至當前路徑,/User/Presley =>儲存至/Users/路徑下)
- format: 壓縮包種類,“zip”, “tar”, “bztar”,“gztar”
- root_dir: 要壓縮的資料夾路徑(預設當前目錄)
- owner: 使用者,預設當前使用者
- group: 組,預設當前組
- logger: 用於記錄日誌,通常是logging.Logger物件
import shutil z = shutil.make_archive(`presly`, `gztar`, root_dir=`D:軟體下載`)
shutil對壓縮包的處理,也可呼叫zipfile或tarfile模組進行壓縮