1. 程式人生 > >學習筆記-模塊之標準庫shutil

學習筆記-模塊之標準庫shutil

als code 遞歸 .com path rmp 包名 文件內容 pre

shutil是高級的 文件、文件夾、壓縮包 處理模塊

1.shutil.copyfileobj(fsrc, fdst[, length])
1 f1=open(D:\\Test\day5\\test_file\\test01,encoding=utf-8)
2 f2=open(D:\\Test\day5\\test_file\\test02,w,encoding=utf-8)
3 shutil.copyfileobj(f1,f2)  #把test01文件內容拷貝到test02文件中

2.shutil.copyfile(src, dst)
1 shutil.copyfile(
D:\\Test\day5\\test_file\\test01,D:\\Test\day5\\test_file\\test02)#直接拷貝

3.shutil.copymode(src,dst) 僅拷貝權限。內容、組、用戶均不變

4.shutil.copystat(src, dst)拷貝狀態的信息,包括:mode bits, atime, mtime, flags

5.shutil.copy(src,det) 拷貝文件和權限

6.shutil.copy2(src, dst)拷貝文件和狀態信息

7.shutil.copytree(src,det,symlinks=False,ignore=None)遞歸的去拷貝文件
1 shutil.copytree(D:\\Test\day5\\test_file,D:\\Test\day5\\test_file02)

技術分享圖片

8.shutil.rmtree(path[, ignore_errors[, onerror]])遞歸的去刪除文件
1 shutil.rmtree(D:\\Test\\day5\\test_file02)

9.shutil.make_archive(base_name, format,...)
創建壓縮包並返回文件路徑,例如:zip、tar
base_name: 壓縮包的文件名,也可以是壓縮包的路徑。只是文件名時,則保存至當前目錄,否則保存至指定路徑,
如:www =>保存至當前路徑
如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
format: 壓縮包種類,“zip”, “tar”, “bztar”,“gztar”
root_dir: 要壓縮的文件夾路徑(默認當前目錄)
owner: 用戶,默認當前用戶
group: 組,默認當前組
logger: 用於記錄日誌,通常是logging.Logger對象
1 shutil.make_archive(D:\\Test\\day5\\我是壓縮包名,zip,D:\\Test\\day5\\test_file)
把test_file文件壓縮在D:\\Test\\day5\\我是壓縮包名

shutil 對壓縮包的處理是調用 ZipFile 和 TarFile 兩個模塊來進行的可以用這兩個模塊單獨壓縮
 1 import zipfile
 2 # 壓縮
 3 z = zipfile.ZipFile(laxi.zip, w) #先打開一個文件
 4 z.write(a.log) #被壓縮的文件
 5 z.write(data.data) #被壓縮的文件
 6 z.close()
 7 # 解壓
 8 z = zipfile.ZipFile(laxi.zip, r)
 9 z.extractall()
10 z.close()
11 
12 import tarfile
13 # 壓縮
14 tar = tarfile.open(your.tar,w)
15 tar.add(/Users/wupeiqi/PycharmProjects/bbs2.zip, arcname=bbs2.zip)
16 tar.add(/Users/wupeiqi/PycharmProjects/cmdb.zip, arcname=cmdb.zip)
17 tar.close()
18 
19 # 解壓
20 tar = tarfile.open(your.tar,r)
21 tar.extractall()  # 可設置解壓地址
22 tar.close()

 

學習筆記-模塊之標準庫shutil