shutil 简介
shutil是Python标准库中的一个模块,它提供了高级的文件、目录处理功能。它可以复制、移动、删除文件和目录,更改文件的权限等等。
shutil 基本用法
shutil的基本用法如下:
import shutil
# 复制文件
shutil.copy('file.txt', 'file_copy.txt')
# 复制目录树
shutil.copytree('dir', 'dir_copy')
# 移动文件
shutil.move('file.txt', 'new_dir/file.txt')
# 删除目录树
shutil.rmtree('dir_copy')
shutil 高级用法
shutil的高级用法主要包括复制和移动文件或目录时保留原始文件的权限、时间戳等元数据。
复制文件并保留元数据:
import shutil
import os
# 复制文件并保留元数据
shutil.copy2('file.txt', 'file_copy.txt')
# 获取文件的元数据
st = os.stat('file.txt')
# 设置复制后的文件的元数据
os.chmod('file_copy.txt', st.st_mode)
os.utime('file_copy.txt', (st.st_atime, st.st_mtime))
文件压缩和解压:
import shutil
# 压缩文件或目录
shutil.make_archive('data', 'zip', 'data')
# 解压文件
shutil.unpack_archive('data.zip', 'unpacked', 'zip')
用更加高效的方式复制大文件:
import shutil
# 使用高效的复制文件方式
with open('file.txt', 'rb') as f_in, open('file_copy.txt', 'wb') as f_out:
shutil.copyfileobj(f_in, f_out)
这只是 shutil 库的一部分高级功能,具体请参考 Python 官方文档。