当前位置: 欣欣网 > 码农

使用Python shutil库进行文件和目录操作

2024-02-22码农

Python标准库中的 shutil 模块提供了一组用于对文件和目录进行操作的函数。

它可以帮助我们执行诸如复制、移动、重命名以及删除文件和目录等操作,比 os.path 功能更强大。

下面通过一个简单的应用案例来展示其用法。

假设我们有一个文件夹 source_folder ,里面有一些文件和子文件夹,我们想要将其中的内容复制到另一个文件夹 destination_folder 中,我们可以使用 shutil.copytree() 函数来实现:

import shutil
# 将源文件夹内容复制到目标文件夹
shutil.copytree('source_folder''destination_folder')

主要函数和方法

  • shutil.copy(src, dst) : 复制文件从源路径 src 到目标路径 dst。

  • shutil.move(src, dst) : 移动文件或重命名文件从源路径 src 到目标路径 dst。

  • shutil.copytree(src, dst) : 递归地复制整个目录树从源目录 src 到目标目录 dst。

  • shutil.rmtree(path) : 递归地删除目录以及目录中的所有内容。

  • shutil.make_archive(base_name, format, root_dir) : 创建一个归档文件。

  • shutil.unpack_archive(filename, extract_dir) : 解压缩归档文件到指定的目录。

  • shutil.disk_usage(path) : 返回给定路径的磁盘使用情况,以字节为单位。

  • shutil.which(cmd, mode=os.F_OK | os.X_OK, path=None) : 在 PATH 中查找给定命令的位置。

  • 核心应用场景

    1. 「文件备份:」 在日常工作中,我们经常需要备份重要文件。使用 shutil.copy() 可以轻松创建文件的备份。

      shutil.copy('important_file.txt''backup_folder/important_file_backup.txt')

    2. 「项目归档:」 当我们需要将一个项目打包成一个归档文件以便于分享或存档时,可以使用 shutil.make_archive() 函数。

      shutil.make_archive('project_archive''zip', root_dir='project_folder')

    3. 「安全删除:」 有时候我们需要彻底删除一个目录及其内容,包括子目录和文件。 shutil.rmtree() 函数可以帮助我们完成这个任务。

      shutil.rmtree('directory_to_delete')

    总结

    shutil 库提供了一组方便易用的函数和方法,用于处理文件和目录操作,如复制、移动、重命名和删除等。

    无论是在日常文件操作、项目管理还是数据清理等场景下, shutil 库都能发挥重要作用。

    加入知识星球【我们谈论数据科学】

    600+小伙伴一起学习!