python中的shutil模块
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模块的更多相关文章
- Python第二十天 shutil 模块 zipfile tarfile 模块
Python第二十天 shutil 模块 zipfile tarfile 模块 os文件的操作还应该包含移动 复制 打包 压缩 解压等操作,这些os模块都没有提供 shutil 模块shut ...
- Python中的random模块,来自于Capricorn的实验室
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python中的logging模块
http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...
- Python中的random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- 浅析Python中的struct模块
最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的总结. 了解c语言 ...
- python中的StringIO模块
python中的StringIO模块 标签:python StringIO 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分 ...
- python中的select模块
介绍: Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqu ...
- Python中的re模块--正则表达式
Python中的re模块--正则表达式 使用match从字符串开头匹配 以匹配国内手机号为例,通常手机号为11位,以1开头.大概是这样13509094747,(这个号码是我随便写的,请不要拨打),我们 ...
- Python中使用operator模块实现对象的多级排序
Python中使用operator模块实现对象的多级排序 今天碰到一个小的排序问题,需要按嵌套对象的多个属性来排序,于是发现了Python里的operator模块和sorted函数组合可以实现这个功能 ...
随机推荐
- 多层嵌套的json数据
很多时候我们见到的json数据都是多层嵌套的,就像下面这般: {"name":"桔子桑", "sex":"男", , & ...
- Django模型层之字段查询参数及聚合函数
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 字段查询是指如何指定SQL WHERE子句的 ...
- c++11线程池
#pragma once #include <future> #include <vector> #include <atomic> #include <qu ...
- 由ping所引发的思考~
今天看了掘金一片关于ping原理的文章,https://juejin.im/entry/5af8d5e651882565bd25581c?utm_source=gold_browser_extensi ...
- PAT1083:List Grades
1083. List Grades (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a l ...
- 【转】Java线程面试题 Top 50
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎.大多数待遇丰厚的Java开发职位都要求开发者精通多线程 ...
- mybatis的使用
1.like 的使用范例 name like CONCAT(CONCAT('%', #{name}), '%') 2.时间的比较的范例 <![CDATA[ and bill_date >= ...
- Vue数据双向绑定原理及简单实现
嘿,Goodgirl and GoodBoy,点进来了就看完点个赞再go. Vue这个框架就不简单介绍了,它最大的特性就是数据的双向绑定以及虚拟dom.核心就是用数据来驱动视图层的改变.先看一段代码. ...
- 一步一步实现HTTP服务器-开篇
缘起 翻开清单,一条条计划一直列在那里,一天又一天,不知道什么时候写下了它,也知不道什么时候完成它,它一直在那静静的等待着. 静下心来,反思自己,才发现自己是多么的无知,多么的没有毅力.设定了无数目标 ...
- Spring Cloud authentication with JWT service
@RequestMapping(value = "/authenticate", method = RequestMethod.POST) public ResponseEntit ...