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 时,请确保你有足够的权限来执行相应的文件操作,并始终注意不要意外地删除或覆盖重要文件。


相关文章
|
28天前
|
安全 项目管理 Python
使用Python shutil库进行文件和目录操作
使用Python shutil库进行文件和目录操作
使用Python shutil库进行文件和目录操作
|
2月前
|
Go C# Python
Python 的 shutil 模块
`shutil`是Python标准库中的模块,提供高级文件和目录操作,如复制、移动、重命名、删除以及创建和删除目录。它扩展了`os`模块的功能,支持递归操作,例如`shutil.copytree()`用于递归复制目录,`shutil.rmtree()`用于递归删除目录。`shutil.move()`不仅移动文件,还可用于重命名。`shutil.remove()`和`shutil.rmtree()`分别用于删除文件和目录。这个模块对于文件管理任务非常实用。
|
3月前
|
Python
python--os模块
python--os模块
|
4月前
|
开发者 Python
Python的os模块详解
Python的os模块详解
70 0
|
Python
Python基础之shutil及zipfile模块
Python基础之shutil及zipfile模块
79 0
|
Python
python中shutil和shutil库的用法
Python shutil库提供了对文件和目录复制、移动、删除、压缩、解压等操作。
73 0
|
Python
shutil库:Python高级文件操作(二)
shutil库:Python高级文件操作(二)
133 0
shutil库:Python高级文件操作(二)
|
Unix Python
shutil库:Python高级文件操作(一)
shutil库:Python高级文件操作(一)
154 0
shutil库:Python高级文件操作(一)
|
Python
Python OS模块详解
1.getcwd() 在有些情况下需要获得应用程序当前的工作目录(如保存临时文件),那么可以使用getcwd()函数获得
92 0
Python OS模块详解