Python中shutil模塊的使用詳解
簡(jiǎn)介:shutil 模塊提供了一系列對(duì)文件和文件集合的高階操作。特別是提供了一些支持文件拷貝和刪除的函數(shù),該模塊主要強(qiáng)大之處在于其對(duì)文件的復(fù)制與刪除操作更是比較支持好。
主要方法:
1、復(fù)制文件
2、復(fù)制文件夾
3、文件、文件夾移動(dòng)
4、文件、文件夾改名
5、永久刪除文件和文件夾
6、文件、文件夾進(jìn)行打包
復(fù)制文件、并進(jìn)行文件改名:
import shutil # 復(fù)制文件、并進(jìn)行文件改名 copy src_copy = r"D:\codes\ai2022\test1\a1.txt" dst_copy = r"D:\codes\ai2022\test2\a2.txt" shutil.copy(src_copy, dst_copy)
復(fù)制文件夾:
# 復(fù)制文件夾 copytree src_copytree = r"D:\codes\ai2022\test1" dst_copytree = r"D:\codes\ai2022\test3" shutil.copytree(src_copytree, dst_copytree)
文件移動(dòng):如果目標(biāo)目錄存在同名文件,則報(bào)錯(cuò):already exists
# 文件移動(dòng) move src_move = r"D:\codes\ai2022\test2" dst_move = r"D:\codes\ai2022\test3" shutil.move(src_move, dst_move)
文件夾移動(dòng):
# 文件夾移動(dòng) move src_move_dir = r"D:\codes\ai2022\test2" dst_move_dir= r"D:\codes\ai2022\test3" shutil.move(src_move_dir, dst_move_dir)
永久刪除文件和文件夾:
利用 os 模塊中的函數(shù),可以刪除一個(gè)文件或一個(gè)空文件夾。但利用 shutil 模塊,可以刪除一個(gè)文件夾及其所有的內(nèi)容。
# 刪除文件夾包含的所有文件和文件夾都會(huì)被刪除。 dst_remove_dir= r"D:\codes\ai2022\test3" shutil.rmtree(dst_remove_dir)
文件、文件夾進(jìn)行打包:
# 文件、文件夾打包:shutil.make_archive # 最終壓縮包的文件路徑地址、壓縮包文件名。只傳文件名則默認(rèn)當(dāng)前路徑 zip_path = r"D:\codes\ai2022\test5\test_zip" # 需要進(jìn)行壓縮的文件路徑 root_dir = r"D:\codes\ai2022\test4" # 壓縮包的類型可以是"zip", "tar", "gztar", "bztar", or "xztar" result = shutil.make_archive(zip_path, 'zip', root_dir=root_dir) print(f"root_dir:{root_dir}")
創(chuàng)建打包參數(shù)詳解:
base_name:壓縮包的文件名,也可以是壓縮包的路徑。只是文件名時(shí),則保存至當(dāng)前目錄,否則保存至指定路徑, format:壓縮包種類,“zip”, “tar”, “bztar”,“gztar” root_dir:要壓縮的文件夾路徑(默認(rèn)當(dāng)前目錄) owner:用戶,默認(rèn)當(dāng)前用戶 group:組,默認(rèn)當(dāng)前組 logger:用于記錄日志,通常是logging.Logger對(duì)象
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python3中使用urllib的方法詳解(header,代理,超時(shí),認(rèn)證,異常處理)
這篇文章整理了一些關(guān)于urllib使用中的一些關(guān)于header,代理,超時(shí),認(rèn)證,異常處理處理方法,對(duì)大家學(xué)習(xí)python具有一定的參考借鑒價(jià)值,有需要的朋友們下面來一起看看吧。2016-09-09Python連接PostgreSQL數(shù)據(jù)庫(kù)的方法
大家應(yīng)該都有所了解,python可以操作多種數(shù)據(jù)庫(kù),諸如SQLite、MySql、PostgreSQL等,這里不對(duì)所有的數(shù)據(jù)庫(kù)操作方法進(jìn)行贅述,只針對(duì)目前項(xiàng)目中用到的PostgreSQL做一下簡(jiǎn)單介紹,主要是Python連接PostgreSQL數(shù)據(jù)庫(kù)的方法。有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-11-11Boston數(shù)據(jù)集預(yù)測(cè)放假及應(yīng)用優(yōu)缺點(diǎn)評(píng)估
這篇文章主要為大家介紹了Boston數(shù)據(jù)集預(yù)測(cè)放假及應(yīng)用優(yōu)缺點(diǎn)評(píng)估,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Python操作SQLite數(shù)據(jù)庫(kù)的方法詳解
這篇文章主要介紹了Python操作SQLite數(shù)據(jù)庫(kù)的方法,較為詳細(xì)的分析了Python安裝sqlite數(shù)據(jù)庫(kù)模塊及針對(duì)sqlite數(shù)據(jù)庫(kù)的常用操作技巧,需要的朋友可以參考下2017-06-06Python實(shí)現(xiàn)生成指定大小文件的示例詳解
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)生成指定大小文件,例如txt/圖片/視頻/csv等,文中的示例代碼講解詳細(xì),需要的可以參考下2023-08-08一小時(shí)學(xué)會(huì)TensorFlow2之基本操作2實(shí)例代碼
這篇文章主要介紹了TensorFlow2的基本操作和實(shí)例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實(shí)驗(yàn)題分析實(shí)例
這篇文章主要介紹了python算法與數(shù)據(jù)結(jié)構(gòu)朋友圈與水杯實(shí)驗(yàn)題分析,總的來說這并不是難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達(dá)的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路2022-12-12Django使用paginator插件實(shí)現(xiàn)翻頁(yè)功能的實(shí)例
今天小編就為大家分享一篇關(guān)于Django使用paginator插件實(shí)現(xiàn)翻頁(yè)功能的實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10200行python代碼實(shí)現(xiàn)2048游戲
這篇文章主要為大家詳細(xì)介紹了200行Python代碼實(shí)現(xiàn)2048游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07