shutil是一个比较强大的python的操作文件的包
安装
pip install shutil
1、复制文件
这是比较常用的功能
1.shutil.copy()
#返回值是复制之后的路径
shutil.copy('来源文件','目标地址')
2.shutil.copy2()
和shutil.copy()差不多,复制后的结果保留了原来的所有信息(包括状态信息)
3.shutil.copyfile()
将一个文件的内容拷贝的另外一个文件当中
#返回值是复制之后的路径
shutil.copyfile(来源文件,目标文件)
4.shutil.copyfileobj()
将一个文件的内容拷贝的另外一个文件当中
(用的比较少)
shutil.copyfileobj(open(来源文件,'r'),open('目标文件','w'))
5.shutil.copytree()
复制整个文件目录
(无论文件夹是否为空,均可以复制,而且会复制文件夹中的所有内容)
shutil.copytree(来源目录,目标目录)
6.copymode(),copystat()
不常用
2. 删除文件
1.shutil.retree()(删除的是文件夹,如果删除文件os.unlink(path))
移除整个目录,无论是否空
shutil.rmtree(目录路径)
3.移动文件
move()
shutil.move(来源地址,目标地址)
案列分享
有时候在进行大量文件复制的过程中,会出现同样名字被覆盖的问题
看到很多案列感觉麻烦,懒人有懒人的办法
import os
import time
# 判断文件名已经存在
if os.path.exists(file_path+'\\'+wordFile2):
#把原来的文件名进行改掉
#主要是如果循环多,重复的名字多,所以用时间戳进行代替,不会弄重复
os.rename(file_path+'\\'+wordFile2, file_path+'\\'+str(time.time())+wordFile2)
#文件打包的操作
# 将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录
import shutil
ret = shutil.make_archive("wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')
# 将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录
import shutil
ret = shutil.make_archive("/Users/wupeiqi/wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')