網(wǎng)站首頁 編程語言 正文
簡介: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é)
原文鏈接:https://blog.csdn.net/hzblucky1314/article/details/122659275
相關(guān)推薦
- 2022-05-08 ASP.NET?MVC異常過濾器用法_實(shí)用技巧
- 2024-01-15 Stream流 - 獲取Stream和轉(zhuǎn)換操作(含基本數(shù)據(jù)類型流)
- 2022-09-22 哈希思想的經(jīng)典應(yīng)用(位圖,哈希切割)
- 2022-09-22 vrrp協(xié)議與keepalived淺析
- 2022-07-25 View事件分發(fā)原理和ViewPager+ListView嵌套滑動(dòng)沖突_Android
- 2022-08-02 Python?Http發(fā)送請求淺析_python
- 2022-08-23 Python可視化模塊altair的使用詳解_python
- 2022-08-25 內(nèi)存泄露導(dǎo)致Android?中setVisibility()?失效原理_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支