❤️ 博客主页:水滴技术
🌸 订阅专栏:Python 入门核心技术
🚀 支持水滴:点赞 👍 + 收藏 ⭐ + 留言💬
文章目录
- [1. 简介](#1. 简介)
- [2. 常用函数](#2. 常用函数)
-
- [2.1 复制文件](#2.1 复制文件)
- [2.2 复制目录](#2.2 复制目录)
- [2.3 移动文件或目录](#2.3 移动文件或目录)
- [2.4 删除文件或目录](#2.4 删除文件或目录)
- [2.5 压缩文件或目录](#2.5 压缩文件或目录)
- [2.6 解压缩文件或目录](#2.6 解压缩文件或目录)
- [3. 总结](#3. 总结)
- 系列文章
- 热门专栏
大家好,我是水滴~~
1. 简介
shutil
(shell utility) 模块是 Python 标准库中的一个文件操作模块,提供了一些高级的文件操作函数,例如文件复制、移动、删除等。使用 shutil
模块可以方便地进行文件操作,而不需要手动编写复杂的文件操作代码。
2. 常用函数
2.1 复制文件
使用 shutil.copy(src, dst, *, follow_symlinks=True)
函数可以将文件从源路径复制到目标路径。其中,src
是源文件路径,dst
是目标文件路径。如果目标路径已存在,则会被覆盖。如果源路径是一个目录,则会抛出 IsADirectoryError
异常。如果目标路径是一个目录,则会将源路径中的文件复制到目标目录中,保持文件名不变。
python
import shutil
shutil.copy('source.txt', 'destination.txt')
2.2 复制目录
使用 shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False)
函数可以将目录从源路径复制到目标路径。其中,src
是源目录路径,dst
是目标目录路径。如果目标路径已存在,则会抛出 FileExistsError
异常。symlinks
指定是否复制符号链接,默认为 False
。ignore
指定要忽略的文件或目录的列表,默认为 None
。copy_function
指定用于复制文件的函数,默认为 copy2
。ignore_dangling_symlinks
指定是否忽略指向不存在目标的符号链接,默认为 False
。
python
import shutil
shutil.copytree('source_directory', 'destination_directory')
2.3 移动文件或目录
使用 shutil.move(src, dst, *, copy_function=copy2)
函数可以将文件或目录从源路径移动到目标路径。其中,src
是源文件或目录路径,dst
是目标文件或目录路径。如果目标路径已存在,则会被覆盖。如果源路径和目标路径在同一个文件系统上,则会使用 os.rename()
进行移动操作,否则会使用 shutil.copy2()
和 os.remove()
进行复制和删除操作。copy_function
指定用于复制文件的函数,默认为 copy2
。
python
import shutil
shutil.move('source.txt', 'destination.txt')
2.4 删除文件或目录
使用 shutil.rmtree(path, ignore_errors=False, onerror=None)
函数可以递归删除指定目录以及其下的所有文件和子目录。其中,path
是要删除的目录路径。如果 ignore_errors
为 True
,则在删除过程中出现错误时会忽略错误。如果 onerror
为一个函数,则会在删除过程中出现错误时调用该函数。
python
import shutil
shutil.rmtree('directory_to_delete')
2.5 压缩文件或目录
使用 shutil.make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, dry_run=False, owner=None, group=None, logger=None)
函数可以创建一个压缩文件,支持多种格式(例如 zip、tar、gztar 和 bztar)。其中,base_name
是压缩文件的名称,format
是格式类型,root_dir
是要压缩的根目录,base_dir
是要压缩的基本目录,verbose
指定是否显示详细信息,dry_run
指定是否只模拟操作而不实际执行,owner
和 group
指定压缩文件的拥有者和组,logger
指定一个日志记录器。
python
import shutil
shutil.make_archive('archive','zip', '.', 'dir_to_compress')
2.6 解压缩文件或目录
使用 shutil.unpack_archive(filename, extract_dir=None, format=None)
函数可以将一个压缩文件解压缩到指定目录中。其中,filename
是要解压的文件名,extract_dir
是解压后的目录路径,format
是压缩文件的格式类型,如果为 None
,则会根据文件名自动识别。
python
import shutil
shutil.unpack_archive('archive.zip', 'extracted_directory')
3. 总结
shutil
模块提供了一些高级的文件操作函数,可以方便地进行文件复制、移动、删除等操作。使用 shutil
模块可以大大简化文件操作代码的编写,提高代码的可读性和可维护性。同时,也可以使用 shutil
模块进行文件压缩和解压缩操作,提高文件处理效率。
系列文章
🔥 Python 进阶(一):PyCharm 下载、安装和使用
🔥 Python 进阶(四):日期和时间(time、datetime、calendar 模块)
热门专栏
👍 《Python入门核心技术》
👍 《IDEA 教程:从入门到精通》
👍 《Java 教程:从入门到精通》
👍 《MySQL 教程:从入门到精通》
👍 《大数据核心技术从入门到精通》