简单了解python shutil模块原理及使用方法


Posted in Python onApril 28, 2020

shutil

--High-level file operations 高级的文件操作模块

os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录…… 但是,os文件的操作还应该包含移动 复制 打包 压缩 解压等操作,这些os模块都没有提供。

而本章所讲的shutil则就是对os中文件操作的补充。--移动 复制 打包 压缩 解压

shutil 功能:

1 shutil.copyfileobj(fsrc,fds+[,length=16*1024]) #copy文件内容到另一个文件,可以copy指定大小的内容

import shutil
f1=open('1.txt','r')
f2=open('1_copy.txt','w+')
shutil.copyfileobj(f1,f2,length=16*1024)

2 shutil.copyfile(src,dst) #copy文件内容,是不是感觉上面的文件复制很麻烦?还需要自己手动用open函数打开文件,在这里就不需要了,事实上,copyfile调用了copyfileobj

import shutil
shutil.copyfile('1.txt','1_copy_file.txt')

3 shutil.copymode(src,dst) #仅copy权限,不更改文件内容,组和用户。

准备2个文件

-rwxr-xr-x 1 python python 66 4月 24 11:50 1.txt #权限是755
-rwx-w--w- 1 python python 0 4月 24 11:50 2.txt #权限是722

import shutil
shutil.copymode('1.txt','2.txt')

运行结果后:

-rwxr-xr-x 1 python python 66 4月 24 11:50 1.txt #权限是755
-rwxr-xr-x 1 python python 0 4月 24 11:50 2.txt #权限是755

注意:是根据第一个文件的权限来同步第二个文件权限,并且不支持三个参数,例如:shutil.copymode('1.txt','2.txt','3.txt')

4 shutil.copystat(src,dst) #复制所有的状态信息,包括权限,组,用户,时间等

文以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用sorted函数对列表进行排序的方法
Apr 04 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
Python实现文件按照日期命名的方法
Jul 09 Python
详解Python3中的Sequence type的使用
Aug 01 Python
python下实现二叉堆以及堆排序的示例
Sep 29 Python
Python时间戳使用和相互转换详解
Dec 11 Python
Python基于dom操作xml数据的方法示例
May 12 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
Python3进制之间的转换代码实例
Aug 24 Python
Python中用pyinstaller打包时的图标问题及解决方法
Feb 17 Python
Python 内存管理机制全面分析
Jan 16 Python
python脚本监控logstash进程并邮件告警实例
Apr 28 #Python
用Python在Excel里画出蒙娜丽莎的方法示例
Apr 28 #Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 #Python
python实时监控logstash日志代码
Apr 27 #Python
python实现秒杀商品的微信自动提醒功能(代码详解)
Apr 27 #Python
浅析python 定时拆分备份 nginx 日志的方法
Apr 27 #Python
python异步Web框架sanic的实现
Apr 27 #Python
You might like
PHP的几个常用数字判断函数代码
2012/04/24 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
extjs之去除s.gif的影响
2010/12/25 Javascript
你必须知道的Javascript知识点之"this指针"的应用
2013/04/23 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
Python模拟登录验证码(代码简单)
2016/02/06 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
详解python实现线程安全的单例模式
2018/03/05 Python
python实现寻找最长回文子序列的方法
2018/06/02 Python
pandas 选择某几列的方法
2018/07/03 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
春节超市活动方案
2014/08/14 职场文书
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
道歉信怎么写
2015/05/12 职场文书
小学运动会加油词
2015/07/18 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python