目录
shutil.copyfile(src, dst):拷贝文件,相当于复制cp
shutil.copyfileobj(fsrc, fdst[, length]):将文件内容拷贝到另一个文件中,不能直接跟文件,要跟文件对象
shutil.copymode(src, dst):仅拷贝权限。内容、组、用户均不变
shutil.copytree(src, dst, symlinks=False, ignore=None):递归的去拷贝文件夹
shutil.move(src, dst):递归的去移动文件,它类似mv命令
简介:
Shutil
是 Python 的一个标准库,提供了很多文件操作的高级接口,包括文件复制、删除、移动等常见操作。相比于 os
模块,Shutil
提供了更加面向对象的方法,使得我们能够更加方便地操作文件。这个库的使用非常方便,且功能强大,能够满足你在文件操作上的大部分需求。
说明:博主会根据对shutil模块掌握情况持续更新
一、shutil模块
导入shutil模块
import shutil
1、 拷贝文件
-
shutil.copyfile(src, dst):拷贝文件,相当于复制
cp
shutil.copyfile('f1.log', 'f2.log') #目标文件无需存在
-
shutil.copy(src, dst):拷贝文件和权限
shutil.copy('f1.log', 'f2.log')
-
shutil.copyfileobj(fsrc, fdst[, length]):将文件内容拷贝到另一个文件中,不能直接跟文件,要跟文件对象
shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w'))
-
shutil.copymode(src, dst):仅拷贝权限。内容、组、用户均不变
shutil.copymode('f1.log', 'f2.log') #目标文件必须存在
-
shutil.copytree(src, dst, symlinks=False, ignore=None):递归的去拷贝文件夹
shutil.copytree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*')) #目标目录不能存在,注意对folder2目录父级目录要有可写权限,ignore的意思是排除
2、删除移动文件
-
shutil.rmtree(path):递归的去删除文件
shutil.rmtree('folder1')
-
shutil.move(src, dst):递归的去移动文件,它类似mv命令
shutil.move('folder1', 'folder3')
参考文章: