欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  程序教程

Python常用内置模块之shutil模块

程序员文章站 2022-01-21 20:53:52
...

前面已经学过一些对文件内容进行操作的Python知识,如文件的读取、写入等。下面就一起来学习一下Python对单个文件的整体操作,如文件的复制、移动等。这些操作在Python中可以通过shutil模块实现,一起来学习下Python常用内置模块之shutil模块的用法吧。

shutil模块提供了大量的文件的高级操作。特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作。对单个文件的操作也可参见os模块。shutil模块的主要用法如下:

shutil.copyfile( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉

shutil.move( src, dst) 移动文件或重命名

shutil.copymode( src, dst) 只是会复制其权限其他的东西是不会被复制的

shutil.copystat( src, dst) 复制权限、最后访问时间、最后修改时间

shutil.copy( src, dst) 复制一个文件到一个文件或一个目录

shutil.copy2( src, dst) 在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西

shutil.copy2( src, dst) 如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作

shutil.copytree( olddir, newdir, True/Flase) 把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接

shutil.rmtree( src ) 递归删除一个目录以及目录内的所有内容

以下是shutil模块用法的示例代码:

import shutil
shutil.copyfile("oldfile","newfile")  # oldfile和newfile都只能是文件
shutil.copytree("olddir","newdir")  # olddir和newdir都只能是目录,且newdir必须不存在
shutil.move("oldpos","newpos")  # 移动文件或目录
shutil.rmtree("dir")  # 删除目录,与os.removedirs()相同
相关标签: python教程