日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python利用shutil模塊實現(xiàn)文件的裁剪與壓縮_python

作者:渴望力量的哈士奇 ? 更新時間: 2022-06-28 編程語言

今天的章節(jié)我們來學(xué)習(xí)一下文件的裁剪、壓縮與解壓縮。所謂的文件裁剪就是從目前文件路徑A移動到目標(biāo)文件路徑B ,A 與 B可能是相同的,也有可能是不同的。當(dāng)目標(biāo)移動之后,A 路徑下就不存在這個文件了,只存在目標(biāo)路徑 B 下。但是也支持目標(biāo) A 下的名稱進(jìn)行改變,所以它也是一個變相的重命名。至于壓縮與解壓縮,這里就不需要過多的語言解釋了吧… 都懂的…

利用 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"

運(yùn)行結(jié)果如下:

文件的刪除

這里我們將使用到 os 包的 remove() 函數(shù)實現(xiàn)文件的刪除操作,在 shutil 包中是沒有包含單獨的文件刪除的函數(shù)的,是因為 os 包的刪除已經(jīng)足夠細(xì)致了。

接下來我們再鞏固一下 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')

運(yùn)行結(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'))

運(yùn)行結(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)			

運(yùn)行結(jié)果如下:

原文鏈接:https://blog.csdn.net/weixin_42250835/article/details/124580184

欄目分類
最近更新