python shutil文件操作工具使用实例分析


Posted in Python onDecember 25, 2019

这篇文章主要介绍了python shutil文件操作工具使用实例分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

python中的shutil是一种高层次的文件操作工具,主要强大之处在于对文件的复制与删除操作更友好

一:shutil. copyfileobj(fsrc,fdst [23])

将 fsrc 的内容复制到 fdst。如果给出整数长度,则为缓冲区大小。注意,fsrc、fdst,必须是已经打开的文件,而不能传入文件名的字符串

def copyfileobj(fsrc, fdst, length=16*1024):
  """copy data from file-like object fsrc to file-like object fdst"""
  while 1:
    buf = fsrc.read(length)
    if not buf:
      break
    fdst.write(buf)

代码如下:

f1 = open("111.txt", "r",encoding="utf-8")
f2 = open("222.txt", "w", encoding="utf-8")
shutil.copyfileobj(fsrc=f1, fdst=f2,length=15)

二:def copyfile(src, dst, *, follow_symlinks=True)

直接拷贝整个文件。

运用代码如下:

shutil.copyfile("111.txt", "333.txt")

后面的333.txt可以不是已经存在的,如果存在的话,则会被覆盖掉。

三:shutil. copymode(src,dst,*,follow_symlinks=True)

只是会复制其权限其他的东西是不会被复制的

代码运用如下:

shutil.copymode("111.txt", "333.txt")

注意,这里的111.txt 333.txt都必须是已经存在的,表示把前者的权限复制到后者,也可以理解为给后者添加前者的权限。但不会改变后者的内容。

四:shutil. copystat(src,dst,*,follow_symlinks=True)

和上面的copymode类似,但copystat复制权限,最后访问 time,最后修改 time,以及从 src 到 dst 的标志。也不会改变后者的内容

shutil.copystat("111.txt", "333.txt")

五:shutil. copy(src,dst,*,follow_symlinks=True)

复制一个文件到一个文件或一个目录,如果 dst 指定目录,则使用 src 中的基本文件名将文件复制到 dst 中。返回新创建文件的路径。

复制到文件和前面类似:

shutil.copy("111.txt", dst="444.txt")

复制到目录,就是说我们可以只给第二个参数指定一个路径,以原名字复制到指定路径,像这样:

shutil.copy("111.txt", dst="D:\\222.txt")

而前面的copyfile则必须再路径后面加上命名,以给定的名字复制到指定路径,像这样:

shutil.copy("111.txt", dst="D:\\222.txt")

六:shutil. copy2(src,dst,*,follow_symlinks=True)

在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp ?p的东西

七:shutil. copytree(src,dst,symlinks=False,ignore=None,copyfunction=copy2,ignore_dangling_symlinks=False)

拷贝目录,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接

shutil.copytree(src="11", dst="22")

注意:如果目录不在同一路径下,需要在前面加上绝对或相对路径

八:shutil. rmtree(路径,ignore_errors=False,onerror=None)

递归删除一个目录以及目录内的所有内容:

代码如下:

shutil.rmtree("E:\py project\python_ku\subprocess_demo\\11")

九:shutil. move(src,dst,copyfunction=copy2)

递归地将文件或目录(src)移动到另一个位置(dst)并返回目标

shutil.move(src="11", dst="D:\\")

上面的命令表示把当前路径下的11这个目录,移动到D:\\下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python socket网络编程步骤详解(socket套接字使用)
Dec 06 Python
python生成器generator用法实例分析
Jun 04 Python
python中异常捕获方法详解
Mar 03 Python
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
TensorFlow实现Batch Normalization
Mar 08 Python
详解Python中where()函数的用法
Mar 27 Python
Python语言快速上手学习方法
Dec 14 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
Python安装selenium包详细过程
Jul 23 Python
django的分页器Paginator 从django中导入类
Jul 25 Python
Python如何访问字符串中的值
Feb 09 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
Dec 25 #Python
如何基于python测量代码运行时间
Dec 25 #Python
python字典setdefault方法和get方法使用实例
Dec 25 #Python
Python 内置变量和函数的查看及说明介绍
Dec 25 #Python
python @propert装饰器使用方法原理解析
Dec 25 #Python
python 消除 futureWarning问题的解决
Dec 25 #Python
提升python处理速度原理及方法实例
Dec 25 #Python
You might like
php性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
javascript基础的动画教程,直观易懂
2007/01/10 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
Python中的一些陷阱与技巧小结
2015/07/10 Python
python matlibplot绘制3D图形
2018/07/02 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
一组SQL面试题
2016/02/15 面试题
党的群众教育实践活动实施方案
2014/06/12 职场文书
材料化学专业求职信
2014/07/15 职场文书
请客吃饭开场白
2015/06/01 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫
MySQL 字符集 character
2022/05/04 MySQL