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函数组合可以实现这个功能 ...
随机推荐
- 启动eclipse时候提示错误Error:Could not create the Java Virtual Machine. Error:A Fatal exception has occurred,Program will exit.
我的是neon3版本 解决办法是: 首先把这两个选项勾选,才能看到eclipse.ini完整的文件名.然后用记事本等工具打开编辑. 新版的里面原本是这样: -startup plugins/org.e ...
- linux小实验-考勤模拟程序
任务: 设计一个考勤模拟程序,实现如下功能选择界面,要求使用函数 1.上班签到 2.下班签出 3.缺勤信息查阅 4.退出 考勤程序运行后,提示用户输入上述功能选择,并验证用户输入的用户名和密码:用户信 ...
- java基本数据类型及其包装类
1.String类 String s1 = "hello world"; String s2 = "hello world"; String s3 = s1 + ...
- OpenCASCADE Texture Mapping
OpenCASCADE Texture Mapping eryar@163.com Abstract. 纹理贴图技术的出现和流行是图形显示技术的一个非常重要的里程碑,直接影响3D技术从工业进入娱乐领域 ...
- Python人脸识别最佳教材典范,40行代码搭建人脸识别系统!
Face Id是一款高端的人脸解锁软件,官方称:"在一百万张脸中识别出你的脸."百度.谷歌.腾讯等各大企业都花费数亿来鞭策人工智能的崛起,而实际的人脸识别技术是否有那么神奇? 绿帽 ...
- Python2.7和3.5双版本共存和pip的使用
1. Python2.7和3.5并存 1.1 安装 安装自不必多说,先装2.7,再装3.5. 说下安装的目录:Py3.5和Py2.7默认的安装目录是不一样的,按默认的来就好,不用管. Python2. ...
- HTML 返回顶部
每次看淘宝,看微信,都回有回到顶部的小logo,小图标,或者双击返回顶部.所以就学习了如何返回顶部的操作,一开始是联想html中的链接描点,在开头出设置个标签,下面点击另外一个标志回去.有三种觉得比较 ...
- python_形参何时影响实参
§对于绝大多数情况下,在函数内部直接修改形参的值不会影响实参.例如: >>> def addOne(a): print(a) a += 1 print(a) >>> ...
- 能否使用require('.json')的方式加载大量JSON文件?
Node.js中推崇非阻塞I/O,但是require一个模块时却是同步调用的,这会带来性能上的开销,但并不是每次require都很耗时,因为在require成功之后会缓存起来,在此加载时直接从缓存读取 ...
- Java 8 Documentation Download
Java API 下载方法 https://www.oracle.com/index.html https://www.oracle.com/java/technologies/java-se.htm ...