复制文件的函数在os模块中不存在。原因是复制文件并非由操作系统提供的系统调用。
shutil模块提供了copyfile()函数,可以看做是os模块的补充。
删除
import os
import shutil
base_path = os.path.dirname(__file__)
path = os.path.join(base_path, 'img')
## 删除文件夹
shutil.rmtree(path)
拷贝
## 拷贝文件夹
shutil.copytree("./img","./img2")
src = os.path.abspath(__file__)
dst = os.path.join(os.path.dirname(__file__), "aaa.py")
## 文件到文件的拷贝,其中dst必须是文件
shutil.copyfile(src, dst)
## 文件拷贝,src必须是文件,dst可以是文件或者目录
shutil.copy(src, dst)
## 同上,但是拷贝的文件带着原有属性,类似于Linux系统里的cp -p命令
shutil.copy2(src, dst)
重命名/移动
移动一个文件或者目录到指定的位置,src和dst都可以是文件或者目录。
shutil.move("./img/1.txt","./img/new.txt")
shutil.move("./img","./img_new")
压缩文件
## 压缩文件
## base_name 压缩后的文件
## format 压缩格式,例如:zip tar gztar bztar xztar
## root_dir 要压缩的文件夹路径
shutil.make_archive(base_name='datafile', format='zip', root_dir=path)
## 解压文件
## filename 要解压的压缩包文件
## extract_dir 解压的路径
## format 压缩文件格式
shutil.unpack_archive(filename='datafile.zip', extract_dir='./imgs', format='zip')