Python_shutil模組

Vera_y發表於2018-09-18

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模組進行壓縮

 

相關文章