基本使用
文件拷贝
import shutil
shutil.copyfile('a.txt','b.txt') # 将a.txt拷贝重命名为b.txt
文件的递归拷贝
import shutil
# 将demo下所有文件和文件夹拷贝到demo1\demo2\demo3下,并过滤.txt文件
shutil.copytree(r"F:\demo",
r"F:\demo1\demo2\demo3",
ignore=shutil.ignore_patterns('*.txt'))
文件压缩
使用shutil压缩
import shutil
shutil.make_archive('压缩文件路径','zip','原文件路径')
#格式:shutil.make_archive(base_name,format(zip),root_dir,owner,group,logger)
# base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
# 如:www =>保存至当前路径
# 如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
# format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
# root_dir: 要压缩的文件夹路径(默认当前目录)
# owner: 用户,默认当前用户
# group: 组,默认当前组
# logger: 用于记录日志,通常是logging.Logger对象
#将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录
使用zipfile压缩
import zipfile
z1 = zipfile.ZipFile('a.zip','w')
z1.write('1.txt')
z1.write('2.txt')
z1.close()
z1 = zipfile.ZipFile('a.zip','a')
z1.write('1.txt')
z1.write('2.txt')
z1.close()
文件解压缩
import zipfile
z2 = zipfile.ZipFile('a.zip','r')
z2.extractall('./解压文件夹')
z2.close()
# 解压指定文件
z = zipfile.ZipFile("node.zip",'r')
for item in z.namelist():
if item == 'test.py':
z.extract('test.py')
z.close()
参考文章 https://www.cnblogs.com/abobo/p/8075152.html