在Python中,shutil
模块提供了许多用于文件和文件集合的高级操作,这些操作包括复制和删除文件,以及创建和移动目录。shutil
模块还提供了一些与操作系统交互的功能,如查找文件、压缩和解压缩文件等。
以下是shutil
模块的一些主要功能:
1、文件操作
shutil.copy(src, dst)
: 复制文件,从src
到dst
,如果dst
是一个目录,则将src
复制到该目录下,并使用与src
相同的文件名。
shutil.move(src, dst)
: 移动文件,从src
到dst
,实际上,这是shutil.copy()
和os.remove()
的组合。
shutil.rmtree(path)
: 删除目录及其所有内容,这是一个递归操作,会删除指定路径下的所有文件和子目录。
2、目录操作
shutil.copytree(src, dst)
: 复制整个目录树,从src
到dst
,这会保留文件的元数据(如时间戳、权限等)。
shutil.move(src, dst)
: 移动目录及其所有内容,从src
到dst
,实际上,这是shutil.copytree()
和shutil.rmtree()
的组合。
3、文件查找
shutil.which(program)
: 查找可执行文件的完整路径,这类似于在命令行中输入which program
。
4、文件压缩和解压缩
shutil.make_archive(base_name, format, root_dir=None, base_dir=None)
: 创建一个压缩文件,包含指定的目录树。base_name
是压缩文件的基本名称,format
是压缩格式(如’zip’、’tar’等),root_dir
是要包含的根目录。
shutil.unpack_archive(filename, extract_dir=None, format=None)
: 解压缩文件。extract_dir
是要将文件解压到的目录,format
是压缩文件的格式。
5、文件系统操作
shutil.disk_usage(path)
: 返回一个命名元组,包含指定路径的总大小、已用空间和可用空间。
shutil.get_terminal_size()
: 获取终端窗口的大小(行数和列数)。
下面是一些使用shutil
模块的示例:
import shutil 复制文件 shutil.copy('example.txt', 'backup/example.txt') 移动文件 shutil.move('example.txt', 'new_folder/example.txt') 创建压缩文件 shutil.make_archive('my_archive', 'zip', 'my_folder') 解压缩文件 shutil.unpack_archive('my_archive.zip', 'extracted_folder') 删除目录及其所有内容 shutil.rmtree('my_folder')
shutil
模块提供了许多方便的文件和目录操作,可以帮助您轻松地处理文件系统相关的任务,在实际使用中,请确保正确处理异常和错误,以确保代码的稳定性和可靠性。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/350409.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复