'''
A.shutil:高级的文件 文件夹 压缩包 处理模块
''' import shutil '''
1.copyfileobj(a1,a2,lenth):将文件内容拷贝到另一个文件中
''' shutil.copyfileobj(open('old.xml','r'),open('new.xml','w'),1) '''
2.copyfile(a1,a2):拷贝文件
'''
shutil.copyfile('new.xml','new2.xml') '''
3.copymode(a1,a2):拷贝文件,仅拷贝权限,内容,组,用户不变
'''
shutil.copymode('new.xml','new3.xml') '''
4.copystat(a1,a2):拷贝状态信息
'''
shutil.copystat('new.xml','new3.xml') '''
5.copy(a1,a2):拷贝文件内容和权限
'''
shutil.copy('new.xml','new4.xml') '''
6.copy2(a1,a2):拷贝文件内容和状态
'''
shutil.copy2('new.xml','new5.xml') '''
*7.copytree(a,b,symlinks=False, ignore=None):递归去拷贝文件夹,abs是文件夹,symlinks=False时为拷贝快捷方式,symlinks=True时,拷贝的是原文件夹
ignore=shutil.ignore_patterns('*.pyc','tmp'):忽略拷贝以'*.pyc','tmp'结尾和开头的文件
''' #shutil.copytree('a','b',ignore=shutil.ignore_patterns('*.pyc','tmp')) '''
8.rmtree(path):递归的去删除文件夹
'''
#shutil.rmtree('c') '''
9.move(a,b):递归去移动文件,类似于mv命令,其实就是重命名
'''
#shutil.move('a','c') '''
B.make_archive:创建压缩文件
xx.make_archive(base_name, format, ...)
创建压缩包并返回文件路径,例如:zip、tar
创建压缩包并返回文件路径,例如:zip、tar
base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
如:www = > 保存至当前路径
format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
root_dir: 要压缩的文件夹路径(默认当前目录)
owner: 用户,默认当前用户
group: 组,默认当前组
logger: 用于记录日志,通常是logging.Logger对象
''' # 将 D:\1122 下的文件打包放置当前程序目录
ret = shutil.make_archive("xxx",'gztar',root_dir='D:\\1122') # 将 D:\1122下的文件打包放置 D:\1122目录
ret = shutil.make_archive("D:\\1122\\xxx",'gztar',root_dir='D:\\1122') '''
C.zipfile解压缩文件
'''
import zipfile
# z=zipfile.ZipFile('xx.zip','w')
# z.write('ini')
# z.write('new2.xml') # z.close()
#解压
z=zipfile.ZipFile('xx.zip','r')
z.extractall() print(z.namelist()) #压缩包中的文件列表
#解压
z.extract('ini')
z.close()
'''
D.tarfile:解压缩
'''
import tarfile
#压缩
tar=tarfile.open('xxx.tar','w')
tar.add('ini',arcname='init')
tar.add('new2.xml',arcname='new22.xml')
tar.close() #解压
tar=tarfile.open('xxx.tar','r')
#tar.extractall()
print(tar.getmembers())
tar.extract('init')
tar.close()

三十四、python中shutil模块的介绍的更多相关文章

  1. Python核心技术与实战——十四|Python中装饰器的使用

    我在以前的帖子里讲了装饰器的用法,这里我们来具体讲一讲Python中的装饰器,这里,我们从前面讲的函数,闭包为切入点,引出装饰器的概念.表达和基本使用方法.其次,我们结合一些实际工程中的例子,以便能再 ...

  2. 学以致用三十二-----python中函数的括号使用

    一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大看困惑. 今天来总结下. class aaa(): y = 'you' def __init__( ...

  3. python中shutil模块

    shutil是对OS中文件操作的补充:移动.复制.打包.压缩.解压. 1.copy文件内容到另一个文件,可以copy指定大小的内容. shutil.copyfileobj(fsrc, fdst[, l ...

  4. 网站开发进阶(三十四)编码中的setCharacterEncoding 理解

    编码中的setCharacterEncoding 理解 1.pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码. 2.contentType ...

  5. python中shutil模块的使用

    可以操作权限的处理文件模块:shutil # 基于路径的文件复制 import shutil shutil.copyfile("oldfile_path","newfil ...

  6. 三十四 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解

    信号一般使用信号分发器dispatcher.connect(),来设置信号,和信号触发函数,当捕获到信号时执行一个函数 dispatcher.connect()信号分发器,第一个参数信号触发函数,第二 ...

  7. python学习 (三十四) Python文件操作

    1 写文件 my_list = ["] my_file = open("myfile.txt", "w") for item in my_list: ...

  8. Python中re模块详细介绍

    正则的介绍及应用实例详解 """ 1.什么是正则 正则就是用一系列具有特殊含义的字符组成一套规则,该规则用来描述具有某一特征的字符串, 正则就是用来去一个大的字符串中匹配 ...

  9. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...

随机推荐

  1. [BZOJ4444] [Luogu 4155] [LOJ 2007] [SCOI2015]国旗计划(倍增)

    [BZOJ4444] [Luogu 4155] [LOJ 2007] [SCOI2015]国旗计划(倍增) 题面 题面较长,略 分析 首先套路的断环为链.对于从l到r的环上区间,若l<=r,我们 ...

  2. Codeforces 1262E Arson In Berland Forest(二维前缀和+二维差分+二分)

     题意是需要求最大的扩散时间,最后输出的是一开始的火源点,那么我们比较容易想到的是二分找最大值,但是我们在这满足这样的点的时候可以发现,在当前扩散时间k下,以这个点为中心的(2k+1)2的正方形块内必 ...

  3. JVM — 性能调优

    概念: 一:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创建的.” ...

  4. P2516 [HAOI2010]最长公共子序列

    传送门 看到数据范围,显然 $n^2$ 的 $dp$... 设 $f[i][j]$ 表示 $A$ 串考虑了前 $i$ 位,$B$ 串考虑了前 $j$ 位,最优情况下的方案数 但是好像没法判断转移来的是 ...

  5. PCIeの数据链路层与物理层详解

    数据链路层(DLL,Data Link Layer)的主要作用是进行链路管理(Link Management).TLP错误校验.Flow Control(流控制)和Link功耗管理.不仅可以接收发送来 ...

  6. htm、html、shtml区别。(web服务器配置ssi)

    转载源:http://www.divcss5.com/html/h59.shtml 首先htm.html.shtml都是静态网页的后缀,三者也可以说都是只是扩展名不同,其他一样,都是静态的网页.Htm ...

  7. 使用pdfjs插件在线预览PDF文件

    前言 本文介绍在html中使用 pdfjs插件在线预览PDF文件的方法. 实现步骤 下载 pdfjs 并引入项目中 到PDFJS官网 http://mozilla.github.io/pdf.js/g ...

  8. java Class类使用

    1.forName public static Class<?> forName(String className) throws ClassNotFoundException 返回与带有 ...

  9. DevOps书单:调研了101名专家,推荐这39本必读书籍

    任何一个领域都遵循从新人到熟手,从熟手到专家的路径.在成长过程中,DevOps人经常会陷入没人带,没人管,找不到职业方向的迷茫. DevOps是在商业演进与企业协作的进化过程中诞生的一个全新职业,被很 ...

  10. Django【第16篇】:Django之Form组件自定义验证规则

    自定义验证规则以及中间件简单介绍 1.python2和python3中的区别 对于python2内置的字符串类型有str和unicode 比如:"abc"是字符串,u"你 ...