Python之shutil库详解

简介: Python之shutil库详解

shutil 是 Python 中的一个高级文件操作库,它提供了许多对文件和文件集合的高级操作,这些操作在 os 模块中通常是以较低级别的函数形式提供的。shutil 库的主要功能包括复制、移动、删除文件和目录,以及文件和目录的归档等。


以下是 shutil 库中一些常用函数的详解:


1. 复制文件和目录

shutil.copy(src, dst, *, follow_symlinks=True):复制文件从 src 到 dst。如果 dst 是一个目录,那么文件将被复制到该目录下,并使用相同的文件名。

shutil.copy2(src, dst, *, follow_symlinks=True):与 copy() 类似,但会尝试复制文件的元数据(如时间戳和权限)。

shutil.copyfile(src, dst, *, follow_symlinks=True):只复制文件内容,不尝试复制元数据。

shutil.copyfileobj(fsrc, fdst, length=16*1024):将一个文件对象的内容复制到另一个文件对象。

shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False):递归地复制目录树。


2. 移动和重命名文件和目录

shutil.move(src, dst, copy_function=copy2):将文件或目录从 src 移动到 dst。如果 dst 已经存在并且是一个目录,那么 src 将被移动到该目录下。


3. 删除文件和目录

shutil.rmtree(path, ignore_errors=False, onerror=None):递归地删除目录及其内容。

shutil.remove(path, *, dir_fd=None):删除文件或目录(如果它是一个空目录)。


4. 归档和解压文件

shutil.make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, dry_run=0, owner=None, group=None, logger=None):创建归档文件(如 zip、tar 等)。

shutil.unpack_archive(filename, extract_dir=None, format=None):解压归档文件到指定目录。


5. 其他

shutil.disk_usage(path):返回包含磁盘使用统计信息的命名元组,该统计信息包括总块数、已用块数和可用块数。

shutil.get_terminal_size(fallback=(80, 24)):获取终端窗口的大小(以列和行表示)。

shutil.which(cmd, path=None, pathext=None):在 PATH 环境变量中搜索指定的命令,并返回其完整路径。


示例


复制文件


python复制代码
 import shutil  
 
   
 
 shutil.copy('source.txt', 'destination.txt')


删除目录及其内容


python复制代码
 shutil.rmtree('/path/to/directory')

创建 zip 归档


python复制代码
 shutil.make_archive('backup', 'zip', '/path/to/directory')


在使用 shutil 时,请确保你有足够的权限来执行相应的文件操作,并始终注意不要意外地删除或覆盖重要文件。


相关文章
|
4天前
|
Shell Python
Python 的 os 库的应用实例
Python 的 os 库的应用实例
12 3
|
4天前
|
Linux Python Windows
Python sys 库的应用实例
Python sys 库的应用实例
13 3
|
4天前
|
Python
Python 中的 spell checker 库
Python 中的 spell checker 库
15 1
|
7天前
|
人工智能 搜索推荐 API
使用 Python holidays 库获取中国节日
使用 Python holidays 库获取中国节日
34 2
|
1天前
|
PyTorch 测试技术 算法框架/工具
Python中Thop库的常见用法和代码示例
肆十二在B站分享了关于THOP(Torch-OpCounter)的实战教学视频。THOP是一个用于计算PyTorch模型操作数和计算量的工具,帮助开发者评估模型复杂度和性能。本文介绍了THOP的安装、使用方法及基本用例,包括如何计算模型的FLOPs和参数量。
6 0
|
1天前
|
算法 数据可视化 计算机视觉
Python中医学图像处理常用的库
在Python中,医学图像处理常用的库包括:ITK(及其简化版SimpleITK)、3D Slicer、Pydicom、Nibabel、MedPy、OpenCV、Pillow和Scikit-Image。这些库分别擅长图像分割、配准、处理DICOM和NIfTI格式文件、图像增强及基础图像处理等任务。选择合适的库需根据具体需求和项目要求。
6 0
|
2天前
|
SQL 关系型数据库 MySQL
Python中Pymysql库的常见用法和代码示例
`pymysql` 是一个用于连接 MySQL 数据库的 Python 库,支持 SQL 查询的执行和结果处理。通过 `pip install pymysql` 安装后,可使用 `connect()` 方法建立连接,`cursor()` 创建游标执行查询,包括数据的增删改查,并通过 `commit()` 和 `rollback()` 管理事务,最后需关闭游标和连接以释放资源。
9 0
|
2天前
|
计算机视觉 Python
Python中Pillow库的常见用法和代码示例
Pillow是Python中广泛使用的图像处理库,支持丰富的图像操作功能,包括但不限于打开、保存、缩放、裁剪、旋转、调色等。本文通过一系列示例介绍Pillow的基本用法,涵盖图像的加载与显示、尺寸调整、裁剪与旋转、亮度调整、格式转换、滤镜应用、图像合成及像素级操作等。首先需通过`pip install pillow`安装库,随后可通过导入`PIL.Image`等模块开始图像处理任务。无论是初学者还是进阶用户,都能从Pillow提供的强大功能中获益。
7 0
|
7天前
|
存储 程序员 数据库
【Python】标准库的使用
【Python】标准库的使用
16 0
|
8天前
|
Python
告别阻塞,拥抱未来!Python 异步编程 asyncio 库实战指南!
高效处理并发任务对提升程序性能至关重要,Python 的 `asyncio` 库提供了强大的异步编程支持。通过 `async/await` 关键字,可以在等待操作完成时不阻塞程序执行,显著提高效率和响应性。`asyncio` 支持定义异步函数、创建任务、等待多个任务完成等功能,并能结合第三方库如 `aiohttp` 实现异步网络请求。此外,它还支持异常处理,确保异步代码的健壮性。借助 `asyncio`,您可以轻松构建高性能、响应迅速的应用程序。
15 0