简单了解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 基础教程之str和repr的详解
Aug 20 Python
wxPython的安装图文教程(Windows)
Dec 28 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
Python实现TCP通信的示例代码
Sep 09 Python
Python简易计算器制作方法代码详解
Oct 31 Python
Python程序暂停的正常处理方法
Nov 07 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
pycharm无法导入lxml的解决办法
Mar 31 Python
python实现会员信息管理系统(List)
Mar 18 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
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
修改或扩展jQuery原生方法的代码实例
2015/01/13 Javascript
js实现微信分享代码
2020/10/11 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
python实现数独算法实例
2015/06/09 Python
python实现简易通讯录修改版
2018/03/13 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
python实现超级玛丽游戏
2020/03/18 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
了解一下python内建模块collections
2020/09/07 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
国际性能运动服装品牌:Dare 2b
2018/07/27 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android
Win10 Anaconda安装python-pcl
2022/04/29 Servers