python shutil相关操作

本文详细介绍了Python的shutil模块,用于高级的文件和文件夹操作,如拷贝、移动、删除、压缩和解压缩等。示例涵盖了从基本的文件内容拷贝到递归文件夹拷贝、创建和解压压缩包等常见操作,是Python中处理文件和目录的强大工具。
摘要由CSDN通过智能技术生成

python shutil模块常用操作

高级的 文件、文件夹、压缩包 处理模块

1.将文件内容拷贝至另一个文件中

shutil.copyfileobj(src, dist, length=16*1024),默认长度为16 * 1024,默认返回None

shutil.copyfileobj(open('test3.py', 'r'), open('test3/test2.py','w'))
2.拷贝文件

shutil.copyfile(src, dist),dist目标文件无需存在, 返回复制后的文件名称,此处为"test4.py",不拷贝权限、状态信息,只拷贝文本

shutil.copyfile("test3.py", "test4.py")
3.仅拷贝权限,内容、组、用户不变

目标文件必须存在,不拷贝内容、状态

shutil.copymode("test3.py","test4.py")
4.仅拷贝状态信息及读写权限

状态信息包括:mode bits, atime, mtime, flags;目标文件必须存在

shutil.copystat("test3.py","test4.py")
5.拷贝文件和权限

包括文件内容和文件的读写权限

shutil.copy("test3.py", "test5.py")
6.拷贝文件和状态信息

包含文件内容及状态信息:mode bits, atime, mtime, flags、读写权限

shutil.copy2("test3.py", "test6.py")
7.递归拷贝文件(从一个文件夹中拷贝到另一个文件夹)

递归拷贝文件需要目标文件夹不存在,ignore为忽略的文件或文件夹

shutil.copytree("test3","test4",ignore=shutil.ignore_patterns("*.py"))
8.递归删除文件夹

会删除全部文件及文件夹

shutil.rmtree("test4")
9.递归移动文件(相当于重命名)
shutil.move("test3","test4")
10.创建压缩包并返回文件的路径

shutil.make_archive(base_name, format, root_dir), base_name:压缩包的名称,format一般为"zip", “tar”, “bztar” or “gztar”,

root_dir:需要压缩的路径

shutil.make_archive("test", "zip", "test4")
11.解压缩压缩包

shutil.unpack_archive(base_name, extract_dir, format);base_name:压缩包路径;extract_dir:解压缩的路径;

format一般为"zip", “tar”, “bztar” or “gztar”

shutil.unpack_archive("test.zip", "test5", "zip")
12.shutil压缩及解压缩原理

调用 ZipFile 和 TarFile 两个模块来进行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值