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通过字典dict判断指定键值是否存在的方法
Mar 21 Python
Windows下搭建python开发环境详细步骤
Jul 20 Python
Python如何判断数独是否合法
Sep 08 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
python使用itchat实现手机控制电脑
Feb 22 Python
python3 unicode列表转换为中文的实例
Oct 26 Python
python直接获取API传递回来的参数方法
Dec 17 Python
Python利用itchat库向好友或者公众号发消息的实例
Feb 21 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
Jul 08 Python
利用Python的turtle库绘制玫瑰教程
Nov 23 Python
Python如何用re模块实现简易tokenizer
May 02 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
Aug 14 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 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
双击滚屏-常用推荐
2006/11/29 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
Python实现word2Vec model过程解析
2019/12/16 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
华为慧通笔试题
2016/04/22 面试题
公司领导推荐信
2013/11/12 职场文书
初三新学期计划书
2014/05/03 职场文书
企业安全标语
2014/06/07 职场文书
2014年安全管理工作总结
2014/12/01 职场文书
超市采购员岗位职责
2015/04/07 职场文书
初中运动会前导词
2015/07/20 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers