1. '''
    A.shutil:高级的文件 文件夹 压缩包 处理模块
    '''
  2.  
  3. import shutil
  4.  
  5. '''
    1.copyfileobj(a1,a2,lenth):将文件内容拷贝到另一个文件中
    '''
  6.  
  7. shutil.copyfileobj(open('old.xml','r'),open('new.xml','w'),1)
  8.  
  9. '''
    2.copyfile(a1,a2):拷贝文件
    '''
    shutil.copyfile('new.xml','new2.xml')
  10.  
  11. '''
    3.copymode(a1,a2):拷贝文件,仅拷贝权限,内容,组,用户不变
    '''
    shutil.copymode('new.xml','new3.xml')
  12.  
  13. '''
    4.copystat(a1,a2):拷贝状态信息
    '''
    shutil.copystat('new.xml','new3.xml')
  14.  
  15. '''
    5.copy(a1,a2):拷贝文件内容和权限
    '''
    shutil.copy('new.xml','new4.xml')
  16.  
  17. '''
    6.copy2(a1,a2):拷贝文件内容和状态
    '''
    shutil.copy2('new.xml','new5.xml')
  18.  
  19. '''
    *7.copytree(a,b,symlinks=False, ignore=None):递归去拷贝文件夹,abs是文件夹,symlinks=False时为拷贝快捷方式,symlinks=True时,拷贝的是原文件夹
    ignore=shutil.ignore_patterns('*.pyc','tmp'):忽略拷贝以'*.pyc','tmp'结尾和开头的文件
    '''
  20.  
  21. #shutil.copytree('a','b',ignore=shutil.ignore_patterns('*.pyc','tmp'))
  22.  
  23. '''
    8.rmtree(path):递归的去删除文件夹
    '''
    #shutil.rmtree('c')
  24.  
  25. '''
    9.move(a,b):递归去移动文件,类似于mv命令,其实就是重命名
    '''
    #shutil.move('a','c')
  26.  
  27. '''
    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对象
    '''
  28.  
  29. # 将 D:\1122 下的文件打包放置当前程序目录
    ret = shutil.make_archive("xxx",'gztar',root_dir='D:\\1122')
  30.  
  31. # 将 D:\1122下的文件打包放置 D:\1122目录
    ret = shutil.make_archive("D:\\1122\\xxx",'gztar',root_dir='D:\\1122')
  32.  
  33. '''
    C.zipfile解压缩文件
    '''
    import zipfile
    # z=zipfile.ZipFile('xx.zip','w')
    # z.write('ini')
    # z.write('new2.xml')
  34.  
  35. # z.close()
    #解压
    z=zipfile.ZipFile('xx.zip','r')
    z.extractall()
  36.  
  37. 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()
  38.  
  39. #解压
    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. [BZOJ 2006] [NOI 2010]超级钢琴(贪心+ST表+堆)

    [BZOJ 2006] [NOI 2010]超级钢琴(贪心+ST表+堆) 题面 给出一个长度为n的序列,选k段长度在L到R之间的区间,一个区间的值等于区间内所有元素之的和,使得k个区间的值之和最大.区 ...

  2. 06-REST Framework - API

    # Django REST Framework# 1. REST- 前后端分离- API-ApplicationProgrammingInterface - 为了应付千变万化的前端需求- REST:R ...

  3. element ui 选择期 传对象

    <template> <el-select value-key="label" v-model="value" placeholder=&qu ...

  4. Linux 开机自动启动脚本

    1)编写要执行脚本的sh文件mysetup.sh #!/bin/sh ### BEGIN INIT INFO # Provides: land.sh # Required-start: $local_ ...

  5. diff 比较两个文件的不同

    1.命令功能 diff 逐行比较文件内容,并输出文件差异. 2.语法格式 diff  option   file1    file2 diff  选项   文件1   文件2 参数说明 参数 参数说明 ...

  6. Python核心技术与实战——六|异常处理

    和其他语言一样,Python中的异常处理是很重要的机制和代码规范. 一.错误与异常 通常来说程序中的错误分为两种,一种是语法错误,另一种是异常.首先要了解错误和异常的区别和联系. 语法错误比较容易理解 ...

  7. SpringBoot使用Easypoi导出excel示例

    SpringBoot使用Easypoi导出excel示例 https://blog.csdn.net/justry_deng/article/details/84842111

  8. 题解 P1587 【[NOI2016]循环之美】

    知识点:莫比乌斯反演 积性函数 杜教筛 废话前言: 我是古明地恋,写这篇题解的人已经被我 请各位读者自行无视搞事的恋恋带有删除线的内容,谢谢茄子. 这道题目本身并不难,但是公式推导/代码过程中具有迷惑 ...

  9. Markdown的使用和计算机基础

    TOC] 一级标题 这不是开玩笑 你问我为什么? 粗的才好(滑稽) 什么!明明有人推我 ==一闪一闪亮晶晶== 我上面有人^人在这^ water?H~2~O(下标) hello world! hell ...

  10. Linux学习-NFS服务

    一.NFS服务相关介绍 1.NFS简介 NFS (Network File System) 网络文件系统,基于内核的文件系统.Sun公司开发,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系 ...