Python 常用运维模块之Shutil 模块
Python 常用运维模块之Shutil 模块
Shutil 模块
shutil 模块提供了许多高级的文件操作功能,常用于文件和目录的复制、移动、删除等操作
使用 shutil 模块之前需要导入:
import shutil
复制源文件到目标路径
shutil.copyfile() 用于复制文件内容
src 是源文件路径,dst 是目标文件路径
如果目标文件已存在,会被覆盖
shutil.copyfile("source.txt", "destination.txt")
复制源文件权限到目标文件
shutil.copymode() 仅复制文件的权限模式,不复制文件内容
目标文件必须已存在
shutil.copymode("source.txt", "destination.txt")
复制源文件的最近修改时间、权限等元信息到目标文件
shutil.copystat() 复制文件的权限、最近访问时间、最近修改时间等元信息
目标文件必须已存在
shutil.copystat("source.txt", "destination.txt")
复制源文件到目标路径(包含文件名)
shutil.copy() 复制文件内容和权限,但不会复制其他元信息
如果目标路径是目录,则目标文件名与源文件名相同
shutil.copy("source.txt", "/path/to/destination/")
复制源文件及相关元信息到目标路径
shutil.copy2() 与 shutil.copy() 类似,但会额外复制文件的元信息(如修改时间等)
如果目标路径是目录,则目标文件名与源文件名相同
shutil.copy2("source.txt", "/path/to/destination/")
移动文件或目录
shutil.move() 用于移动文件或目录
如果目标路径是目录,则目标文件名与源文件名相同
如果目标路径已存在文件,会被覆盖
shutil.move("source.txt", "/path/to/destination/")
获取磁盘使用情况
shutil.disk_usage() 返回指定路径的磁盘使用情况,包括总容量、已用容量和剩余容量
返回值是一个 namedtuple,包含 total、used 和 free 属性
usage = shutil.disk_usage("/")
print(f"Total: {usage.total / (1024**3):.2f} GB")
print(f"Used: {usage.used / (1024**3):.2f} GB")
print(f"Free: {usage.free / (1024**3):.2f} GB")
复制整个目录树
shutil.copytree() 用于递归复制整个目录树
目标目录必须不存在,否则会抛出 FileExistsError
shutil.copytree("source_dir", "destination_dir")
获取可执行文件的路径
shutil.which() 用于查找系统中可执行文件的路径,类似于 Unix 的 which 命令
如果找不到文件,返回 None
print(shutil.which("python"))
原文地址:https://blog.csdn.net/weixin_45614773/article/details/145279812
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!