Python利用shutil模塊實現(xiàn)文件的裁剪與壓縮
今天的章節(jié)我們來學(xué)習(xí)一下文件的裁剪、壓縮與解壓縮。所謂的文件裁剪就是從目前文件路徑A移動到目標(biāo)文件路徑B ,A 與 B可能是相同的,也有可能是不同的。當(dāng)目標(biāo)移動之后,A 路徑下就不存在這個文件了,只存在目標(biāo)路徑 B 下。但是也支持目標(biāo) A 下的名稱進行改變,所以它也是一個變相的重命名。至于壓縮與解壓縮,這里就不需要過多的語言解釋了吧… 都懂的…
利用 shutil 實現(xiàn)文件的裁剪(移動、重命名)
導(dǎo)入包與模塊
from shutil import move
使用方法:
move(來源地址, 目標(biāo)地址)
結(jié)合我們上一章節(jié)的測試腳本場景,將 abcd.txt 移動到 test01 目錄下,然后再將 abcd_copy.txt 在當(dāng)前目錄下重命名為 efg_copy.txt。
代碼示例如下:
# coding:utf-8 import os from shutil import move path = os.path.join(os.getcwd(), 'abcd.txt') # 利用 os 模塊的 getcwd() 函數(shù) 分別獲取絕對路徑 target = os.path.join(os.getcwd(), 'test01') move(path, target) # 將 "abcd.txt" 文件移動到 "test01" 目錄下 move('abcd_copy.txt', 'efg_copy.txt') # 將 "abcd_copy.txt" 重命名為 "efg_copy.txt"
運行結(jié)果如下:
文件的刪除
這里我們將使用到 os 包的 remove() 函數(shù)實現(xiàn)文件的刪除操作,在 shutil 包中是沒有包含單獨的文件刪除的函數(shù)的,是因為 os 包的刪除已經(jīng)足夠細致了。
接下來我們再鞏固一下 os 包的remove() 函數(shù),利用 remove() 函數(shù)刪除上文我們重名后的 efg.txt 文件:
# coding:utf-8 import os from shutil import copy, copyfile, move path = os.path.join(os.getcwd(), 'abcd.txt') # 利用 os 模塊的 getcwd() 函數(shù) 分別獲取絕對路徑 target = os.path.join(os.getcwd(), 'test01') # copyfile(path, target) # move(path, target) # 將 "abcd.txt" 文件移動到 "test01" 目錄下 # move('abcd_copy.txt', 'efg_copy.txt') # 將 "abcd_copy.txt" 重命名為 "efg_copy.txt" os.remove('efg_copy.txt')
運行結(jié)果如下:
利用 shutil 實現(xiàn)文件的壓縮
讓我們先看看壓縮的函數(shù):
導(dǎo)入包與模塊
from shutil import make_archive
使用方法
make_archive(壓縮之后的文件名, 壓縮文件的后綴, 希望被壓縮的文件或目錄)
返回值
生成的壓縮包地址
import os from shutil import copy, copyfile, move, make_archive path = os.path.join(os.getcwd(), 'abcd.txt') # 利用 os 模塊的 getcwd() 函數(shù) 分別獲取絕對路徑 target = os.path.join(os.getcwd(), 'test01') make_archive('test01', 'zip', os.path.join(os.getcwd(), 'test01'))
運行結(jié)果如下:
利用 shutil 實現(xiàn)文件的解壓縮
讓我們再看看解壓縮的函數(shù):
導(dǎo)入包與模塊
from shutil import unpack_archive
使用方法
unpack_archive(要解壓的文件, 解壓后的路徑)
返回值
生成的壓縮包地址
代碼示例如下:
# coding:utf-8 import os from shutil import copy, copyfile, move, make_archive, unpack_archive # path = os.path.join(os.getcwd(), 'abcd.txt') # 利用 os 模塊的 getcwd() 函數(shù) 分別獲取絕對路徑 # target = os.path.join(os.getcwd(), 'test01') # make_archive('test01', 'zip', os.path.join(os.getcwd(), 'test01')) target = os.path.join(os.getcwd(), 'test02') # 為了區(qū)分解壓之后的目錄名稱與之前的test01,這里使用test02 作為解壓后的目錄 unpack_archive('test01.zip', target)
運行結(jié)果如下:
到此這篇關(guān)于Python利用shutil模塊實現(xiàn)文件的裁剪與壓縮的文章就介紹到這了,更多相關(guān)Python文件裁剪 壓縮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)擬合與廣義線性回歸算法學(xué)習(xí)
這篇文章主要為大家詳細介紹了Python數(shù)據(jù)擬合與廣義線性回歸算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12