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网络编程之TCP通信实例和socketserver框架使用例子
Apr 25 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
python得到qq句柄,并显示在前台的方法
Oct 14 Python
CentOS7安装Python3的教程详解
Apr 10 Python
Python产生一个数值范围内的不重复的随机数的实现方法
Aug 21 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
Python简易计算器制作方法代码详解
Oct 31 Python
Python PyQt5整理介绍
Apr 01 Python
TensorFlow固化模型的实现操作
May 26 Python
对python中list的五种查找方法说明
Jul 13 Python
python 实现Requests发送带cookies的请求
Feb 08 Python
健身房被搭讪?用python写了个小米计时器助人为乐
Jun 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
js location.replace与location.reload的区别
2010/09/08 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
js单词形式的运算符
2014/05/06 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
vue组件实例解析
2017/01/10 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
深入Python解释器理解Python中的字节码
2015/04/01 Python
Python 编码Basic Auth使用方法简单实例
2017/05/25 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
django中瀑布流写法实例代码
2019/10/14 Python
python数值基础知识浅析
2019/11/19 Python
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
家长学校工作方案
2014/05/07 职场文书
大学生求职信范文
2014/05/24 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL