shutil模块

1.基本用法

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:James Tao
 4 
 5 import shutil
 6 
 7 #copy文件方法一
 8 f1=open('copyshutil.txt',encoding='UTF-8')
 9 f2=open('mycopy.txt','w',encoding='UTF-8')
10 shutil.copyfileobj(f1,f2)#copy一个新文件内容与copyshutil相同
11 
12 #copy文件方法二
13 shutil.copyfile('copyshutil.txt','mycopy.txt')
14 
15 #copy文件所有属性
16 shutil.copystat('copyshutil.txt','mycopy.txt')#必须传入两个已存在的文件,不创建文件
17 
18 #同时copy文件和权限
19 shutil.copy('copyshutil.txt','mycopy.txt')#创建一个新文件
20 
21 #同时copy文件和状态信息
22 shutil.copy2('copyshutil.txt','mycopy.txt')#创建一个新文件
23 
24 #递归地copy文件
25 shutil.copytree('shutilfile','myshutilfile')#创建一个新文件,并将原文件内的所有子文件copy
26 
27 #删除目录
28 shutil.rmtree('myshutilfile')

2.压缩文件

创建压缩包并返回文件路径,例如zip、tar

代码格式:shutil.make_archive(base_name,format,root_dir,owner,group,logger)、

base_name:压缩包的文件名,也可以是压缩包的路径

          只写文件名base_name:保存至当前路径

          写成Users用户123ase_name:保存至Users用户123ase_name

format:压缩包种类:zip,tar,bztar,gztar

root_dir:要压缩的文件夹路径(默认当前目录)

owner:用户,默认当前用户

group:组,默认当前组

logger:用于记录日志,通常是logging.Logging对象

代码:

1 shutil.make_archive('shutil_archive','zip','D:python')#将D:python文件夹压缩保存至当前路径,压缩包名为shutil_archive.zip

运行结果:

压缩文件的过程实际上要调用zipfile模块,例:

1 import zipfile
2 z=zipfile.ZipFile('day5.zip','w')#在当前路径生成一个名字为day5的压缩文件
3 
4 z.write('mycopy.txt')#将mycopy.txt压缩进名字为day5的压缩文件
5 z.close()

运行结果:

原文地址:https://www.cnblogs.com/BIT-taozhen/p/9867013.html