Python shutil模块的函数

1.1 shutil模块

shutil模块也称为shutil工具,该模块中含有许多函数,可以让文件快速地被移动、复制、删除和修改。通过import shutil来引入shutil模块

1.1.1 复制文件和文件夹

(1)复制文件
通过 shutil.copy(source,destination)可以将 source 处的文件复制到 destination 所代表的目录下,如果 destination 是一个文件名,那么destination所代表的文件名将作为复制文件的新的文件名,该函数将返回一个字符串,该字符串表示复制后的文件路径

Python shutil模块的函数
首先通过import 将shutil模块引入,再通过shutil.copy()函数复制文件
(1)将bbc.txt文件复制到yy文件夹下
(2)将bbc.txt文件复制为yy,txt, yy.txt为新的文件名

Python shutil模块的函数
Python shutil模块的函数
Python shutil模块的函数
(2)复制文件夹
利用函数shutil,copytree(source,destination)来复制文件夹,destination所代表的文件夹名作为被复制的source所代表的文件夹的新名字
Python shutil模块的函数
Python shutil模块的函数

1.1.2 文件和文件夹的移动与更改名称

(1)移动文件
shutil.move(source,destination)函数将source所代表的文件移动到destination所代表的目录下,当盘根下没有destination代表的文件时,destination为移动后的文件名,如果目录下已存在所移动的文件名,将会提示已存在
Python shutil模块的函数
下图为磁盘目录下没有bbc的文件夹,所以移动后yy.txt将被bbc所代表的文件名取代
Python shutil模块的函数
Python shutil模块的函数
Python shutil模块的函数
Python shutil模块的函数

(2)更改文件名
虽然不可以覆盖已存在的文件名,但可以指定移动后的文件名

Python shutil模块的函数
如果移动到文件夹下不存在的文件夹,将变更为不存在的文件夹所代表的文件名,如果三级目录都不存在的话,将抛出异常
Python shutil模块的函数

1.1.3 永久删除文件和文件夹

(1)os.unlink(路径) 删除该路径下的文件
(2)os.rmdir(路径) 如果该路径处的文件夹为空,则删除该文件夹。否则,返回错误
(3)shutil.rmtree(路径) 将删除该路径处的文件夹,该文件夹包含的所有文件和文件夹都将被删除

(1)效果图:如图所示,带.txt后缀的为hb和hc两个文件
Python shutil模块的函数
权限不够,删不了,懒得切换管理员权限了,换一个D盘吧
Python shutil模块的函数
Python shutil模块的函数
(2)利用os.rmdir(路径) 删除文件夹(空文件夹)
Python shutil模块的函数
(3)利用shutil.rmtree(路径) 强制删除文件夹
Python shutil模块的函数