Python中shutil模块的使用详解
短信预约 -IT技能 免费直播动态提醒
简介:shutil 模块提供了一系列对文件和文件集合的高阶操作。特别是提供了一些支持文件拷贝和删除的函数,该模块主要强大之处在于其对文件的复制与删除操作更是比较支持好。
主要方法:
1、复制文件
2、复制文件夹
3、文件、文件夹移动
4、文件、文件夹改名
5、永久删除文件和文件夹
6、文件、文件夹进行打包
复制文件、并进行文件改名:
import shutil
# 复制文件、并进行文件改名 copy
class="lazy" data-src_copy = r"D:\codes\ai2022\test1\a1.txt"
dst_copy = r"D:\codes\ai2022\test2\a2.txt"
shutil.copy(class="lazy" data-src_copy, dst_copy)
复制文件夹:
# 复制文件夹 copytree
class="lazy" data-src_copytree = r"D:\codes\ai2022\test1"
dst_copytree = r"D:\codes\ai2022\test3"
shutil.copytree(class="lazy" data-src_copytree, dst_copytree)
文件移动:如果目标目录存在同名文件,则报错:already exists
# 文件移动 move
class="lazy" data-src_move = r"D:\codes\ai2022\test2"
dst_move = r"D:\codes\ai2022\test3"
shutil.move(class="lazy" data-src_move, dst_move)
文件夹移动:
# 文件夹移动 move
class="lazy" data-src_move_dir = r"D:\codes\ai2022\test2"
dst_move_dir= r"D:\codes\ai2022\test3"
shutil.move(class="lazy" data-src_move_dir, dst_move_dir)
永久删除文件和文件夹:
利用 os 模块中的函数,可以删除一个文件或一个空文件夹。但利用 shutil 模块,可以删除一个文件夹及其所有的内容。
# 删除文件夹包含的所有文件和文件夹都会被删除。
dst_remove_dir= r"D:\codes\ai2022\test3"
shutil.rmtree(dst_remove_dir)
文件、文件夹进行打包:
# 文件、文件夹打包:shutil.make_archive
# 最终压缩包的文件路径地址、压缩包文件名。只传文件名则默认当前路径
zip_path = r"D:\codes\ai2022\test5\test_zip"
# 需要进行压缩的文件路径
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}")
创建打包参数详解:
base_name:压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
format:压缩包种类,“zip”, “tar”, “bztar”,“gztar”
root_dir:要压缩的文件夹路径(默认当前目录)
owner:用户,默认当前用户
group:组,默认当前组
logger:用于记录日志,通常是logging.Logger对象
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341