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 数据结构之旋转链表
Feb 25 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
详解python中executemany和序列的使用方法
Aug 12 Python
详解用python实现简单的遗传算法
Jan 02 Python
python验证码识别实例代码
Feb 03 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
Apr 25 Python
Pycharm如何打断点的方法步骤
Jun 13 Python
python调用接口的4种方式代码实例
Nov 19 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
python2和python3哪个使用率高
Jun 23 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自定义大小验证码的方法详解
2013/06/07 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
php的ddos攻击解决方法
2015/01/08 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
jQuery对表单的操作代码集合
2011/04/06 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
JQuery球队选择实例
2015/05/18 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
回顾Javascript React基础
2019/06/15 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
Vue中图片Src使用变量的方法
2019/10/30 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
python基于C/S模式实现聊天室功能
2019/01/09 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
如何在vscode中安装python库的方法步骤
2021/01/06 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
自我鉴定 电子商务专业
2014/01/30 职场文书
环保公益策划方案
2014/08/15 职场文书
2014年国庆节寄语
2014/09/19 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
教师节大会主持词
2015/07/06 职场文书
六年级作文之预言作文
2019/10/25 职场文书
SQL Server删除表中的重复数据
2022/05/25 SQL Server