文件拷贝
copyfile() 复制文件
将文件从原来的路径复制到目标路径,如果目标文件已存在,则会进行覆盖
该函数只能用于复制文件,不能用于复制目录
该函数不会复制文件权限、时间戳等元数据到新文件上
copyfile(‘原始文件’,’新文件’)
copy()
类似于电脑上对文件的复制粘贴,既可以复制文件,也可以复制目录
如果目标路径是目录,则会将原路径中所有内容复制到目标路径下的一个新目录中
copy函数可以复制文件的权限,但是不能复制包括访问时间、修改时间等元数据
copymode() 拷贝文件权限
针对文件的权限(读、写、执行)进行拷贝,将一个文件的权限复制到另一个文件上
copystat 拷贝文件信息
将一个文件的信息包括(权限、最近访问时间、最近修改时间)等复制给另一个文件。“创建时间”无法被复制
copymode仅复制权限,而copystat不仅复制权限,还复制最近访问时间,最近修改时间等数据给另一个文件
copy2
相当于copy与copystat的集合
copyst仅复
文件移动
move() 移动文件(剪切)
移动文件后,文件会移动到新的目录,相当于剪切(ctrl+x)文件
压缩与解压
make_archive() 压缩
参数有许多,但主要的有3个,分别是base_name、format以及root_dir
base_name用于设置压缩包的名称
format用于设置压缩格式可以选择zip/tar/gztar/bztar
rootdir用于设置被压缩文件的目录,也就是设置要压缩哪些文件,默认为与python文件相同的目录(这点不确定)
将Python文件目录下的名为【1】的文件夹中的所有文件做成一个压缩包:shutil.make_archive(‘a’,’zip’,’1/’)
压缩指定目录下的所有文件与文件夹:shutil.make_archive(“my_archive”, “zip”,’C:/Users/llj/Music’)
unpack_archive() 解压
仅支持解压zip与tar格式的压缩包,不支持rar格式,如需解压rar压缩包,可以使用其他python库比如rarfile或unrar。
unpack_archive()需要填写被解压的压缩包目录,extract_dir解压位置(不填写默认当前目录),压缩包格式
重命名
shutil模块下的move函数也能实现对文件的重命名功能,只需要填写2个参数,原始文件的路径与重命名后的路径,比如将a.mp3文件改名称b.mp3
shutil.move(‘a.mp3′,’b.mp3’)
os模块rename() 重命名
os模块下rename()函数可以对文件进行重命名,该函数接受两个参数,分别是需要重命名的文件的原始名称与新名称
使用前需要import os
将a.mp3改名成b.mp3:os.rename(‘a.mp3′,’b.mp3’)
删除文件
os模块下的remove函数
os模块下的remove()函数可以对文件进行删除操作,该函数只需要输入一个参数,就是要被删除的文件的路径
import os
os.remove(‘b.mp3’)
如果参数中要被删除的文件不存在,则会触发报错:
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: ‘b.mp3’
shutil模块下的rmtree()删除目录
shutil模块下的rmtree()函数可以删除文件夹,该函数接受一个参数,即要被删除的文件夹的路径
该操作会删除目录以及其包含的所有子目录与文件,删除操作无法被撤销,因此使用时应该谨慎
shutil.rmtree(‘D:\Python\shutill\文件夹’)