Python shutil模块常用文件操作函数详解

Ryan
Ryan
发布时间:2026-10-14| 4人浏览过
原创

本文详细介绍Python标准库shutil模块的核心功能,包括使用make_archive创建归档文件、通过unpack_archive解压归档包,以及执行快速文件复制、压缩和目录递归复制操作。文章结合具体代码示例,解析各函数的参数用法与路径处理,帮助开发者掌握高效的文件管理技巧。

shutil模块核心归档与解压功能

首先介绍如何使用shutil.make_archive()函数来创建归档文件。该函数执行后会返回生成的归档文件的完整路径名称。


import shutil
path_1 = r'D:\PycharmProjects\Hello'
path_2 = r'D:\PycharmProjects\Hello\shutil-test'
new_path = shutil.make_archive(path_2,'zip',path_1)
print(new_path)

其次,讲解shutil.unpack_archive(filename[,extract_dir[,format]])函数,用于分析和解压归档文件。该函数支持指定归档文件路径、目标解压目录以及指定的解压格式。

  • 其中,filename参数代表归档文件的完整路径地址。
  • extract_dir参数用于指定解压后的文件存放的目标目录名称。
  • format参数则用于指定解压文件时所采用的具体格式类型。

import shutil
import os
shutil.unpack_archive('D:\PycharmProjects\Hello\shutil-test.zip','D:\\testdir')
print(os.listdir('D:\\testdir'))

shutil模块文件处理扩展应用

接下来进行知识点的扩展阅读。

重点解析Python中shutil模块的具体使用场景与方法。

第一种常见应用是实现快速的文件复制操作。

第二种应用涉及快速的文件压缩处理。

第三种应用则是实现文件目录的递归复制,即连同子目录一并复制。

以下是相关的代码实现示例。


#Author Kang

import shutil

#把当目录下的nginx.conf文件复制到另外一个目录,并重命名
shutil.copyfile('nginx.conf','/Users/kang/Desktop/nginx.conf.bak')

#把base_dir的目录20190218打包压缩到桌面的test.zip
shutil._make_zipfile("/Users/kang/Desktop/test",base_dir='/Users/kang/PycharmProjects/不破不立/第二章/20190218',)

#把20190218下的所有内容,复制到桌面kangtest目录下(kangtest不存在,程序会新建一个目录)
shutil.copytree('/Users/kang/PycharmProjects/不破不立/第二章/20190218/','/Users/kang/Desktop/kangtest')

至此,关于Python shutil模块操作文件的实例讲解完毕。如需了解更多Python文件操作方法,可查阅本站往期文章或继续浏览后续内容,感谢支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。