Python的shutil包是一个用于高级文件操作的库,它提供了许多高效的函数来处理文件和目录。通过shutil,你可以轻松地复制、移动、重命名和删除文件或目录,以及查询磁盘使用情况等。
shutil是Python标准库的一部分,这意味着你不需要单独安装它。只要你已经安装了Python,就可以直接在你的脚本中导入并使用shutil模块,而无需进行额外的安装步骤。
pythonimport shutil
# 将文件从源路径复制到目标路径
src = "/path/to/source/file.txt"
dst = "/path/to/destination/file.txt"
shutil.copy(src, dst)
pythonimport shutil
# 将整个目录从源路径复制到目标路径
src_dir = "/path/to/source_directory"
dst_dir = "/path/to/destination_directory"
shutil.copytree(src_dir, dst_dir)
pythonimport shutil
# 移动或重命名文件或目录
src = "/path/to/source/file_or_directory"
dst = "/path/to/new/location/or_new_name"
shutil.move(src, dst)
请谨慎使用此功能,因为它会删除指定目录及其所有内容。
pythonimport shutil
# 删除整个目录树
dir_path = "/path/to/directory"
shutil.rmtree(dir_path)
pythonimport shutil
# 创建一个zip格式的归档文件
base_name = "/path/to/output_archive" # 输出的归档文件名(不包含扩展名)
root_dir = "/path/to/directory_to_archive" # 要打包的目录
shutil.make_archive(base_name, 'zip', root_dir)
pythonimport shutil
# 解压归档文件到指定目录
archive_file = "/path/to/archive.zip"
extract_dir = "/path/to/destination_directory"
shutil.unpack_archive(archive_file, extract_dir)
shutil
库提供了一个方便的方法来查询磁盘使用情况,即shutil.disk_usage()
函数。这个函数可以用来获取指定路径所在文件系统的磁盘使用情况,包括总空间、已用空间和可用空间。
以下是使用shutil.disk_usage()
查询磁盘使用情况的具体方法:
pythonimport shutil
# 指定你想要查询的路径,可以是任意存在的目录或驱动器
path = "/" # 在Windows上,可以是类似 'C:\\' 的路径
# 获取磁盘使用情况
total, used, free = shutil.disk_usage(path)
print(f"磁盘总量: {total >> 30} GB")
print(f"已使用: {used >> 30} GB")
print(f"可用: {free >> 30} GB")
在这个例子中:
total
表示总的磁盘空间大小。used
表示已经使用的磁盘空间大小。free
表示剩余可用的磁盘空间大小。注意,为了使输出更加直观,上述代码使用了位移操作符>>
将字节数转换为GB(通过右移30位,因为(2^{30})字节等于1GB)。
假设你在Linux系统上运行上面的脚本,并且根目录/
有50GB的空间,其中已经使用了20GB,还有30GB可用。那么输出可能如下所示:
磁盘总量: 50 GB 已使用: 20 GB 可用: 30 GB