Python shutil 库详解

1. shutil库概述

   简介

     shutil是Python中的一个标准库,它提供了一系列对文件和文件集合的高级操作。“shutil”这个名字是“shell utilities”(外壳工具)的缩写,它的功能类似于在shell脚本中对文件进行操作的命令,但通过Python代码来实现,使得操作更加灵活和可编程。

   导入方式

     要使用shutil库,只需在Python脚本或交互式环境中使用`import shutil`语句。例如:

     ```python

     import shutil

     ```

2. 文件复制操作

   shutil.copy()方法

     功能描述:这个方法用于将一个文件从源路径复制到目标路径。如果目标路径是一个目录,那么会在该目录下创建一个与源文件同名的文件。

     参数说明:它接受两个参数,第一个参数是源文件的路径,第二个参数是目标文件或目录的路径。例如,要将文件`/home/user/src.txt`复制到`/home/user/dest/`目录下,可以这样写:

     ```python

     import shutil

     shutil.copy('/home/user/src.txt', '/home/user/dest/')

     ```

     注意事项:如果目标路径已经存在同名文件,那么会覆盖该文件。所以在使用时要确保不会意外覆盖重要数据。

   shutil.copy2()方法

     功能描述:和`shutil.copy()`类似,不过`shutil.copy2()`还会尽可能地保留文件的元数据(如文件的访问时间、修改时间等)。

     参数说明:参数和`shutil.copy()`相同。例如:

     ```python

     import shutil

     shutil.copy2('/home/user/src.txt', '/home/user/dest/')

     ```

3. 文件移动操作

   shutil.move()方法

     功能描述:用于将文件或目录从一个位置移动到另一个位置。它可以用于重命名文件或目录,也可以将文件移动到其他目录。

     参数说明:第一个参数是源文件或目录的路径,第二个参数是目标文件或目录的路径。例如,将文件`/home/user/src.txt`移动到`/home/user/dest/`目录下并改名为`new_src.txt`:

     ```python

     import shutil

     shutil.move('/home/user/src.txt', '/home/user/dest/new_src.txt')

     ```

     注意事项:如果目标路径已经存在同名文件或目录,那么会根据具体情况进行覆盖或合并操作。当移动目录时,会递归地移动目录中的所有内容。

4. 文件和目录删除操作

   shutil.rmtree()方法

     功能描述:用于删除一个目录及其所有内容。这是一个比较危险的操作,因为一旦执行,目录下的所有文件和子目录都会被永久删除。

     参数说明:它只接受一个参数,即要删除的目录的路径。例如,要删除`/home/user/dir_to_delete`目录:

     ```python

     import shutil

     shutil.rmtree('/home/user/dir_to_delete')

     ```

     注意事项:使用时要非常小心,最好在操作之前备份重要的数据。因为没有回收站的概念,删除后很难恢复数据。

5. 文件归档操作(压缩与解压)

   shutil.make_archive()方法

     功能描述:用于创建一个归档文件(如zip、tar等格式)。它可以将一个目录及其内容打包成一个压缩文件,方便存储和传输。

     参数说明:它有多个参数,其中`base_name`是归档文件的名称(不包括扩展名),`format`是归档文件的格式(如'zip'、'tar'等),`root_dir`是要归档的目录的路径。例如,将`/home/user/dir_to_archive`目录打包成一个zip文件:

     ```python

     import shutil

     shutil.make_archive('/home/user/archive', 'zip', '/home/user/dir_to_archive')

     ```

   shutil.unpack_archive()方法

     功能描述:用于解压缩归档文件。它可以识别多种归档格式,如zip、tar等,并将文件解压到指定的目录。

     参数说明:`filename`是要解压的归档文件的路径,`extract_dir`是解压后的文件存放的目录路径。例如,解压`/home/user/archive.zip`文件到`/home/user/extracted_dir`目录:

     ```python

     import shutil

     shutil.unpack_archive('/home/user/archive.zip', '/home/user/extracted_dir')

     ```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bj陈默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值