Python中shutil模块的使用详解

 更新时间:2022年01月24日 11:54:36   作者:三爷带你飞  
这篇文章主要为大家介绍了Python中shutil模块的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

简介:shutil 模块提供了一系列对文件和文件集合的高阶操作。特别是提供了一些支持文件拷贝和删除的函数,该模块主要强大之处在于其对文件的复制与删除操作更是比较支持好。

主要方法:

1、复制文件

2、复制文件夹

3、文件、文件夹移动

4、文件、文件夹改名

5、永久删除文件和文件夹

6、文件、文件夹进行打包

复制文件、并进行文件改名:

import shutil
# 复制文件、并进行文件改名 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)

复制文件夹:

# 复制文件夹 copytree
src_copytree = r"D:\codes\ai2022\test1"
dst_copytree = r"D:\codes\ai2022\test3"
shutil.copytree(src_copytree, dst_copytree)

文件移动:如果目标目录存在同名文件,则报错:already exists

# 文件移动 move
src_move = r"D:\codes\ai2022\test2"
dst_move = r"D:\codes\ai2022\test3"
shutil.move(src_move, dst_move)

文件夹移动:

# 文件夹移动 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 模块中的函数,可以删除一个文件或一个空文件夹。但利用 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对象

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Matplotlib绘图基础之文本标注详解

    Matplotlib绘图基础之文本标注详解

    Matplotlib 文本和标注可以为数据和图形之间提供额外的信息,帮助观察者更好地理解数据和图形的含义,下面就将通过示例依次介绍文本和标注的常用使用方式
    2023-08-08
  • Python 导入文件过程图解

    Python 导入文件过程图解

    这篇文章主要介绍了Python 导入文件过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 详解python中的闭包

    详解python中的闭包

    这篇文章主要介绍了python中闭包的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • Python中lambda的用法及其与def的区别解析

    Python中lambda的用法及其与def的区别解析

    这篇文章主要介绍了Python中lambda的用法及其与def的区别解析,需要的朋友可以参考下
    2014-07-07
  • web.py获取上传文件名的正确方法

    web.py获取上传文件名的正确方法

    这篇文章主要介绍了web.py获取上传文件名的正确方法,遇到这个问题的朋友可能会困惑半天,使用本文的正确方法就可以解决这个问题了,需要的朋友可以参考下
    2014-08-08
  • 详解如何利用Python拍摄延时摄影

    详解如何利用Python拍摄延时摄影

    随着游戏引擎技术的快速发展,游戏画面越来越精美,很多玩家希望拍摄这些精美游戏中的画面。本文将讲解如何利用Python实现延时摄影的拍摄,需要的可以参考一下
    2022-03-03
  • Python每天必学之bytes字节

    Python每天必学之bytes字节

    Python每天必学之bytes字节,针对Python中的bytes字节进行学习理解,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Python实现多张图片合成一张马赛克图片

    Python实现多张图片合成一张马赛克图片

    这篇文章主要介绍了了Python如何实现将多张图片合成一张马赛克图片。文中的示例代码讲解详细,对我们学习Python有一定的帮助,感兴趣的可以学习一下
    2021-12-12
  • Python温度转换实例分析

    Python温度转换实例分析

    这篇文章主要介绍了Python温度转换实例分析,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python工厂函数用法实例分析

    Python工厂函数用法实例分析

    这篇文章主要介绍了Python工厂函数用法,结合实例形式分析了Python工厂函数的概念、功能、使用方法及相关注意事项,需要的朋友可以参考下
    2018-05-05

最新评论