shutil模块

shutil.copyfileobj(src,dst):只拷贝文件内容,需要open文件;目标文件不存在时创建,存在时覆盖

shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w'))

shutil.copyfle(src.dst):直接拷贝文件内容

shutil.copy(src,dst):内容 和 权限

shtuil.copy2(src,dst):内容 和 状态信息(元数据)

shutil.copymode(src,dst):仅权限;dst必许存在

shutil.copystat(src,dst):仅状态;dst必许存在

shutil.ignore_patterns():globbing类型通配符

shutil.copytree(src,dst,symlink=false,ignore=none):Windows中不支持symblink

>>> shutil.copytree('Tools','f2',ignore=shutil.ignore_patterns('?j.txt'))

shutil.rmtree(path):递归删除文件,必许是文件夹

shutil.move(src,dst):移动到当前目录下相当于修改名字

shutil.make_archive(base_name,format,...)

创建压缩包并返回文件路径

  • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径, 如:www                        =>保存至当前路径 如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
  • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
  • root_dir: 要压缩的文件夹路径(默认当前目录)
  • owner: 用户,默认当前用户
  • group: 组,默认当前组
  • logger: 用于记录日志,通常是logging.Logger对
import shutil
a = shutil.make_archive(r'.\test2','zip',r'.\test1') # 必须是目录不能是文件!windows下用/分隔符

关于zipfile和tarfile两个模块

import zipfile,tarfile
# 压缩
z = zipfile.ZipFile('lala.zip','w')
z.write('test1')
z.close() t = tarfile.open('haha.zip','w')
t.add('test1','test1-1') # test1-1为压缩后的名字
t.close()
# 解压
z_decom = zipfile.ZipFile('lala.zip','r')
z_decom.extract('test1/') # 需要指定目录,Windows中文件夹需要/表示
z_decom.close() t_decom = tarfile.open('haha.zip','r')
t_decom.extractall() # extractall不需要指定mem,都可以指定解压至 路径
_decom.close()

压缩时不能压缩路径里面的每个文件

配合os.walk()提取,每个文件的路径可实现此需求

两个模块的详细用法https://www.cnblogs.com/ManyQian/p/9193199.html

python 基础(十八)--shutil模块的更多相关文章

  1. {Python之线程} 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Threading模块 九 锁 十 信号量 十一 事件Event 十二 条件Condition(了解) 十三 定时器

    Python之线程 线程 本节目录 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Thr ...

  2. Python中os和shutil模块实用方法集…

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

  3. Python中os和shutil模块实用方法集锦

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

  4. Bootstrap <基础十八>面包屑导航(Breadcrumbs)

    面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置. Bootstrap 中的面包屑导航( ...

  5. Python进阶(十二)----re模块

    Python进阶(十二)----re模块 一丶re模块 ​ re模块是python将正则表达式封装之后的一个模块.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行. #正则表达式: ...

  6. python学习第五十天shutil模块的用法

    什么shutil模块,就是对高级的文件,文件夹,压缩包进行处理的模块,下面简单讲述其用法. 文件和文件夹的操作 拷贝文件内容 import shutil shutil.copyfileobj(open ...

  7. python中的os,shutil模块的定义以及用法

    # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Uni ...

  8. python 文件操作、shutil模块

    参考自:https://www.cnblogs.com/alex3714/articles/5717620.html 1. 文件基础操作 f = open('test.txt') #打开文件 firs ...

  9. 第六章:Python基础の反射与常用模块解密

    本课主题 反射 Mapping 介绍和操作实战 模块介绍和操作实战 random 模块 time 和 datetime 模块 logging 模块 sys 模块 os 模块 hashlib 模块 re ...

  10. python基础(10)--模块

    模块(module) 模块,用一坨代码实现了某个功能的代码集合 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来 ...

随机推荐

  1. Django基础之命名空间模式(include)

    即使不同的APP使用相同的URL名称,URL的命名空间模式也可以让你唯一反转命名的URL. 例如: project中的urls.py from django.conf.urls import url, ...

  2. Jmeter工具做接口测试

    一.安装Jmeter 1.安装JDK ①下载jdk,到官网下载jdk,地址:http://jmeter.apache.org/download_jmeter.cgi ② 安装jdk(Oracle官网下 ...

  3. vue-router的两种动态路由

    第一种实质上不能算动态路由,充其量算是参数的传递 https://www.jianshu.com/p/f499d9f64958 第二种是真正的动态路由,利用 router.addRoutes()设置动 ...

  4. vue 循环Redio

    标准用法,做个笔记.(图示是elementUI,其他框架大同小异) <el-radio-group @change="changePayHandler" v-model=&q ...

  5. Content:"\2715",特殊字符和图标

    原文 项目中用到的一些特殊字符和图标 html代码 <div class="cross"></div> css代码 1 2 3 4 5 6 7 8 9 10 ...

  6. activemq备忘

    ActiveMQ队列消息积压问题调研 http://blog.51cto.com/winters1224/2049432ActiveMQ的插件开发介绍 https://blog.csdn.net/zh ...

  7. VIM | vim操作大全

    1. 关于Vim vim是Linux下第二强大的编辑器. 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效. 如果是初学vi,运行一下vimtutor是个聪明的决定. ...

  8. Springboot整合 mybatis-generator

    1.pom.xml文件中 生成依赖 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId ...

  9. Module ngx_http_rewrite_module

    http://nginx.org/en/docs/http/ngx_http_rewrite_module.html Directives     break     if     return    ...

  10. Qt编写自定义控件19-图片背景时钟

    前言 图片背景时钟控件,是全套控件(目前共145个)中唯一的几个贴图的控件,这个背景要是不贴图,会画到猝死,必须用美工做好的图贴图作为背景,此控件以前学C#的时候写过,后面在写Qt控件的过程中把他移植 ...