简单了解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 相关文章推荐
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
在Docker上部署Python的Flask框架的教程
Apr 08 Python
在Python中操作列表之List.pop()方法的使用
May 21 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
python+selenium实现京东自动登录及秒杀功能
Nov 18 Python
基于python log取对数详解
Jun 08 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
python 实现selenium断言和验证的方法
Feb 13 Python
python opencv 简单阈值算法的实现
Aug 04 Python
Python实现PyPDF2处理PDF文件的方法示例
Sep 25 Python
Python 使用 prettytable 库打印表格美化输出功能
Dec 26 Python
再谈python_tkinter弹出对话框创建
Mar 20 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/09/12 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
Python实现获取某天是某个月中的第几周
2015/02/11 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
化工工艺专业求职信
2013/09/22 职场文书
成人教育自我鉴定
2013/11/01 职场文书
项目合作计划书
2014/01/09 职场文书
金融管理专业求职信
2014/07/10 职场文书
生活小常识广播稿
2014/09/16 职场文书
三八妇女节标语
2014/10/09 职场文书
单位租房协议范本
2014/12/03 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
纪检部部长竞选稿
2015/11/21 职场文书
党员读书活动心得体会
2016/01/14 职场文书
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python