简单了解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中lambda的用法及其与def的区别解析
Jul 28 Python
Python循环语句中else的用法总结
Sep 11 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
Jun 20 Python
Python中使用haystack实现django全文检索搜索引擎功能
Aug 26 Python
Python 打印中文字符的三种方法
Aug 14 Python
python实现顺序表的简单代码
Sep 28 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
Django 解决model 反向引用中的related_name问题
May 19 Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 Python
python实现扫雷游戏的示例
Oct 20 Python
利用Opencv实现图片的油画特效实例
Feb 28 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 cc攻击代码与防范方法
2012/10/18 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
Mootools 1.2教程 选项卡效果(Tabs)
2009/09/15 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
修复IE9&safari 的sort方法
2011/10/21 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
Lab.js初次使用笔记
2015/02/28 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
原生js实现旋转木马轮播图效果
2017/02/27 Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/27 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
python 图像的离散傅立叶变换实例
2020/01/02 Python
Python类中self参数用法详解
2020/02/13 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
采购主管工作职责
2013/12/12 职场文书
老公爱的承诺书
2014/03/31 职场文书
小学节能减排倡议书
2014/05/15 职场文书
董事长秘书工作职责
2014/06/10 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
Python 内置函数速查表一览
2021/06/02 Python
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL