简单了解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应用的教程
Apr 16 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
python: 判断tuple、list、dict是否为空的方法
Oct 22 Python
Django框架搭建的简易图书信息网站案例
May 25 Python
详解python编译器和解释器的区别
Jun 24 Python
python 求某条线上特定x值或y值的点坐标方法
Jul 09 Python
django mysql数据库及图片上传接口详解
Jul 18 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
Python Merge函数原理及用法解析
Sep 16 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
Django如何创作一个简单的最小程序
May 12 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
Mar 23 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
非洲第一个咖啡超凡杯大赛承办国—卢旺达的咖啡怎么样
2021/03/03 咖啡文化
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
开源SNS系统-ThinkSNS
2008/05/18 PHP
php中global和$GLOBALS[]的分析之一
2012/02/02 PHP
php获取微信openid方法总结
2019/10/10 PHP
tbody元素支持嵌套的注意方法
2007/03/24 Javascript
JavaScript 撑出页面文字换行
2009/06/15 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
js实现漂亮的星空背景
2019/11/01 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
在Python中增加和插入元素的示例
2018/11/01 Python
Django 自定义分页器的实现代码
2019/11/24 Python
python小项目之五子棋游戏
2019/12/26 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
迪奥官网:Dior.com
2018/12/04 全球购物
党员承诺书怎么写
2014/05/20 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
贷款担保书范本
2015/09/22 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python