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字符串连接的N种方式总结
Sep 17 Python
使用Python编写Linux系统守护进程实例
Feb 03 Python
python集合类型用法分析
Apr 08 Python
在Python的Flask框架中使用模版的入门教程
Apr 20 Python
浅谈python 四种数值类型(int,long,float,complex)
Jun 08 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
Python3实现抓取javascript动态生成的html网页功能示例
Aug 22 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 Python
Python基于内置库pytesseract实现图片验证码识别功能
Feb 24 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
Python基于os.environ从windows获取环境变量
Jun 09 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 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
discuz7 phpMysql操作类
2009/06/21 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python如何读取MySQL数据库表数据
2017/03/11 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
python 实现UTC时间加减的方法
2018/12/31 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
解决Django连接db遇到的问题
2019/08/29 Python
SQL语言面试题
2013/08/27 面试题
应届毕业生的个人自我鉴定
2013/10/24 职场文书
年度考核自我鉴定
2014/02/02 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
党员评议个人总结
2014/10/20 职场文书
房屋所有权证明
2014/10/20 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
Redis 哨兵机制及配置实现
2022/03/25 Redis