python中的shutil模块

shutil模块对文件和文件集合提供了许多高级操作,特别是提供了支持文件复制和删除的函数。

目录和文件操作

  • shutil.copyfileobj(fsrc, fdst[, length]):拷贝文件内容到另一个文件,可以指定拷贝的大小。
# 拷贝test1的内容到test2
>>> shutil.copyfileobj(open('test1'),open('test2','w'))
  • shutil.copyfile(src, dst):拷贝文件,不包含元数据。
  • shutil.copymode(src, dst):仅拷贝文件权限,对文件内容、用户和组不影响。
  • shutil.copystat(src, dst):仅拷贝文件权限、最后访问时间、最后修改时间,对文件内容、用户和组不影响。
  • shutil.copy(src, dst):拷贝文件数据和权限,不含文件的创建时间和修改时间。
  • shutil.copy2(src, dst):拷贝文件,包含元数据
  • shutil.ignore_patterns(*patterns):忽略指定的文件,通常和copytree配合使用
  • shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False):递归复制目录及其子目录的文件和状态信息。
#  递归复制Python3目录中的文件到Python4中,其中忽略以点m4和py结尾的文件。
>>> shutil.copytree('Python3','Python4',ignore=shutil.ignore_patterns('*.m4','*.py'))
  • shutil.rmtree(path):递归删除目录
  • shutil.move(src, dst, copy_function=copy2):递归移动文件或者目录,如mv
  • shutil.disk_usage(path):以元组的形式返回一个磁盘统计信息(total,used,free)
  • shutil.chown(path, user=None, group=None):改变path的用户和组
  • shutil.which(cmd):返回执行cmd的绝对路径,类似于shell中的which cmd

归档操作

  • shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]]):打包文件或者压缩文件,如tar,zip。

    • base_name:打包后的文件名
    • format:压缩格式,如:zip,tar,gztar,bztar,xztar
    • root_dir:打包的根目录
    • base_dir:要进行压缩的源文件或者目录,root_dir和base_dir both默认为当前目录
    • dry_run: 如果为True,打包文件将不会创建,但是会进行日志记录
    • owner,group:指定用户和组,默认是当前环境用户和组
    • logger:用于记录日志,通常是logging.Logger的一个实例
  • shutil.get_archive_formats():返回支持的归档格式的列表
  • shutil.unpack_archive(filename[, extract_dir[, format]]):解压缩一个归档文件
    • filename:压缩文档的绝对路径
    • extract_dir:解压缩路径,默认当前目录
    • format:压缩格式,默认使用文件后缀名的格式
  • shutil.get_unpack_formats():返回支持解压缩格式的列表

python中的shutil模块的更多相关文章

  1. Python第二十天 shutil 模块 zipfile tarfile 模块

    Python第二十天  shutil 模块  zipfile   tarfile 模块 os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些os模块都没有提供 shutil 模块shut ...

  2. Python中的random模块,来自于Capricorn的实验室

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  3. Python中的logging模块

    http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...

  4. Python中的random模块

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  5. 浅析Python中的struct模块

    最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结. 了解c语言 ...

  6. python中的StringIO模块

    python中的StringIO模块 标签:python StringIO 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分 ...

  7. python中的select模块

    介绍: Python中的select模块专注于I/O多路复用,提供了select  poll  epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqu ...

  8. Python中的re模块--正则表达式

    Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...

  9. Python中使用operator模块实现对象的多级排序

    Python中使用operator模块实现对象的多级排序 今天碰到一个小的排序问题,需要按嵌套对象的多个属性来排序,于是发现了Python里的operator模块和sorted函数组合可以实现这个功能 ...

随机推荐

  1. 神奇的ASCⅡ码图

    神奇的ASCⅡ码图 可能在网上也常见了asc2码图,但你知道是怎么做出来的吗?(总不可能是人一个一个字码进去的吧,当然,不排除有这种神人的可能

  2. 什么是C语言。C语言入门

    C语言是一种通用计算机编程语言,应用广泛. C语言的设计目标是提供一种编程语言,它可以编译,处理低级内存,生成少量机器代码,并以简单的方式运行,而无需任何操作环境的支持.虽然C语言提供了许多低级处理功 ...

  3. [ Java面试题 ] 框架篇

    1.谈谈你对Struts的理解. 1. struts是一个按MVC模式设计的Web层框架,其实它就是一个Servlet,这个Servlet名为ActionServlet,或是ActionServlet ...

  4. mac下安装windows系统

    前言:我装win系统的原因很简单,就是某天突然想玩qq宠物了(不要嘲笑,自行尴尬一波)... 下面进入正题: 1.我的当前系统版本: 其实App Store 上新版本的os系统也已经出来很长一段时间了 ...

  5. QPropertyAnimation实现图形,控件的旋转和位移动画,尤其是旋转

    QPropertyAnimation可以简单方便的实现对象的旋转和移动的动画效果. 1. 移动 Pixmap *item = new Pixmap(kineticPix); QPropertyAnim ...

  6. arcEngine开发之查询的相关接口

    属性查询 IQueryDef 首先这个接口不能直接创建,可以由 IFeatureWorkspace 接口的CreateQueryDef创建. 这个接口有两个属性必须设置(帮助文档是这样说明的,但是实际 ...

  7. C++相关:C++的IO库

    前言 基本的IO库设施 istream(输入流类型),提供输入操作. ostream(输出流类型),提供输出操作. cin,一个istream对象,从标准输入读取数据. cout,一个ostream对 ...

  8. 如何识别企业内的“千里马”?

    很多企业主都在感叹无法找到合适的优秀管理人才,却忽视了一条获得管理人才的捷径:内部培养.在员工中挑选具有领导潜质的人才,加以培养,必成企业栋梁,而且这样选拔的人才与企业的契合度.忠诚度方面都相对较高. ...

  9. String的indexOf()用于获取字符串中某个子字符串的位置

    indexOf作用:用于检索一个字符串在另一个字符串中的位置. indexOf的几个重载方法如下: int indexOf(String str)  意思为在字符串中检索str第一次出现的位置,如果找 ...

  10. eclipse常用快捷键(windows下)

    ## eclipse常用快捷键(windows下) ## 保存 1.保存当前代码页: ctrl + s 2.保存所有代码页: ctrl + shift + s 代码补全与修正 1.代码快速修正: ct ...