简单了解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创建文件和追加文件内容实例
Oct 21 Python
python私有属性和方法实例分析
Jan 15 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
python如何读写csv数据
Mar 21 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
Apr 15 Python
python中时间模块的基本使用教程
May 14 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
python tkinter图形界面代码统计工具
Sep 18 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
Python xlwt模块使用代码实例
Jun 10 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
能让Python提速超40倍的神器Cython详解
Jun 24 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
详解Yii实现分页的两种方法
2017/01/14 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
Python使用chardet判断字符编码
2015/05/09 Python
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
优秀毕业生求职推荐信范文
2013/11/21 职场文书
如何写一份好的自荐信
2014/01/02 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
初婚初育证明范本
2014/11/24 职场文书
2015年社区工会工作总结
2015/05/26 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
Python+Appium实现自动抢微信红包
2021/05/21 Python
python可视化之颜色映射详解
2021/09/15 Python
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server