Python shutil模块的函数
1.1 shutil模块
shutil模块也称为shutil工具,该模块中含有许多函数,可以让文件快速地被移动、复制、删除和修改。通过import shutil来引入shutil模块
1.1.1 复制文件和文件夹
(1)复制文件
通过 shutil.copy(source,destination)可以将 source 处的文件复制到 destination 所代表的目录下,如果 destination 是一个文件名,那么destination所代表的文件名将作为复制文件的新的文件名,该函数将返回一个字符串,该字符串表示复制后的文件路径
首先通过import 将shutil模块引入,再通过shutil.copy()函数复制文件
(1)将bbc.txt文件复制到yy文件夹下
(2)将bbc.txt文件复制为yy,txt, yy.txt为新的文件名
(2)复制文件夹
利用函数shutil,copytree(source,destination)来复制文件夹,destination所代表的文件夹名作为被复制的source所代表的文件夹的新名字
1.1.2 文件和文件夹的移动与更改名称
(1)移动文件
shutil.move(source,destination)函数将source所代表的文件移动到destination所代表的目录下,当盘根下没有destination代表的文件时,destination为移动后的文件名,如果目录下已存在所移动的文件名,将会提示已存在
下图为磁盘目录下没有bbc的文件夹,所以移动后yy.txt将被bbc所代表的文件名取代
(2)更改文件名
虽然不可以覆盖已存在的文件名,但可以指定移动后的文件名
如果移动到文件夹下不存在的文件夹,将变更为不存在的文件夹所代表的文件名,如果三级目录都不存在的话,将抛出异常
1.1.3 永久删除文件和文件夹
(1)os.unlink(路径) 删除该路径下的文件
(2)os.rmdir(路径) 如果该路径处的文件夹为空,则删除该文件夹。否则,返回错误
(3)shutil.rmtree(路径) 将删除该路径处的文件夹,该文件夹包含的所有文件和文件夹都将被删除
(1)效果图:如图所示,带.txt后缀的为hb和hc两个文件
权限不够,删不了,懒得切换管理员权限了,换一个D盘吧
(2)利用os.rmdir(路径) 删除文件夹(空文件夹)
(3)利用shutil.rmtree(路径) 强制删除文件夹