shutil模块

shutil.copyfileobj(fsrc,fdst[,length])  #将文件内容拷贝到别一个文件中

shutil.copyfile(src,dst)    #拷贝文件

shutil.copymode(src,dst)    #仅拷贝权限,内容,组、用户均不变。

shuil.copystat(src,dst)    #拷贝状态的信息,包括modt bits atime, mtime flags

shutil.copy(src,dst)  #拷贝文件和权限

shutil.copy2(src,dst)  #拷贝文件和状态信息

shutil.ignore_patterns(*patterns)  

shutil.copytree(src,dst,symlinks=False,ignore=none)   #以上两行结合用,递归的去拷贝文件

例:

import shutil
shutil.copytree("my_proj","pack3",ignore=shutil.ignore_patterns("__init__.py","views.py"))

shutil.rmtree(path[,ignore_errors[,onerror]])  #递归的去删除文件
shutil.move(src,dst)  #递归式的去移动文件
shutil.make_archive(base_name,format,...)
创建压缩包并返回文件路径,例如:zip、tar
import zipfile
#压缩打包文件
# z=zipfile.ZipFile("test.zip",'w')
# z.write('mysql.log')
# zip.write('re模块.py')
# z.write('p3')
# z.close()
#解压文件
z=zipfile.ZipFile("test.zip",'r')
z.extractall()
z.close()

rar文件打包及解压例子
import tarfile
# t =tarfile.open("test.rar",'w')
# t.add("..\常用模块") #打包相对路径
# t.add("C:\Users\Administrator\PycharmProjects\untitled1\常用模块\pack3")
# #带目录一起打包
# t.add("C:\Users\Administrator\PycharmProjects\untitled1\常用模块\pack3",arcname='pack5')
# #单独打包,并改名为pack5
# t.add("mysql.log")
# t.close()

#解压
t=tarfile.open("test.rar",'r')
t.extractall("test") #可设置解压路径(这个例子是解压到当前目录test,没有就生成test文件夹)
t.close()


原文地址:https://www.cnblogs.com/anzhangjun/p/8447860.html