当前位置:首页 > 行业动态 > 正文

python sh模块

在Python中,shutil模块提供了许多用于文件和文件集合的高级操作,这些操作包括复制和删除文件,以及创建和移动目录。shutil模块还提供了一些与操作系统交互的功能,如查找文件、压缩和解压缩文件等。

以下是shutil模块的一些主要功能:

1、文件操作

shutil.copy(src, dst): 复制文件,从srcdst,如果dst是一个目录,则将src复制到该目录下,并使用与src相同的文件名。

shutil.move(src, dst): 移动文件,从srcdst,实际上,这是shutil.copy()os.remove()的组合。

shutil.rmtree(path): 删除目录及其所有内容,这是一个递归操作,会删除指定路径下的所有文件和子目录。

2、目录操作

shutil.copytree(src, dst): 复制整个目录树,从srcdst,这会保留文件的元数据(如时间戳、权限等)。

shutil.move(src, dst): 移动目录及其所有内容,从srcdst,实际上,这是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模块提供了许多方便的文件和目录操作,可以帮助您轻松地处理文件系统相关的任务,在实际使用中,请确保正确处理异常和错误,以确保代码的稳定性和可靠性。

0