前言
shutil
是 Python 标准库中的高级文件操作模块,它作为os模块的补充,提供了复制、移动、删除、压缩、解压等操作。是一个非常重要的模块。
模块导入
import shutil
复制文件
描述:复制文件
语法:shutil.copy(src,dst)
返回值:返回复制之后的路径
import shutil
# 1.将a.txt拷贝到work目录
src = "a.txt"
dst = "D:\work"
shutil.copy(src,dst)
# 将a.txt拷贝到work目录并重新命名为a1.txt
src = "a.txt"
dst = "D:\\work\\a1.txt"
shutil.copy(src,dst)
copy2()
描述:可以把拷贝文件到指定目录,不同的是其保留了原文件的信息(操作时间和权限等)
语法:shutil.copy2(src,dst)
返回值:返回复制之后的路径
import shutil
shutil.copy2('1.log', '2.log')
copyfile
拷贝文件,目标文件无需存在
import shutil
shutil.copyfile('1.log', '2.log')
copymode
仅拷贝权限。内容、组、用户均不变,目标文件必须存在
import shutil
shutil.copymode('1.log', '2.log')
copytree
递归复制目录
src
源文件夹必须存在,dst
需保证此文件夹不存在,否则将报错
import shutil
shutil.copytree(src, dst)
copystat
仅拷贝状态的信息,包括:mode bits
, atime
, mtime
, flags
目标文件必须存在
import shutil
shutil.copystat('1.log', '2.log')
move
递归的去移动文件,它类似mv命令,其实就是重命名。
import shutil
shutil.move('folder1', 'folder2')
rmtree
递归的去删除文件
import shutil
shutil.rmtree('folder1')
压缩打包文件
创建压缩包并返回文件路径,压缩包种类,zip
, tar
, bztar
,gztar
# 将 data下的文件打包成data1.zip
import shutil
ret = shutil.make_archive("data1", 'zip', 'data')