shutil模块

Posted bit-taozhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

 

运行结果:

技术分享图片

 

以上是关于shutil模块的主要内容,如果未能解决你的问题,请参考以下文章

Python之shutil模块

shutil模块

python笔记-----模块(time,os,sys,random,shutil)

shutil模块详解

shutil模块

05-shutil 模块