import shutil
#f1=open("本节笔记",encoding='utf-8')
#f2=open("
笔记2","w",encoding='utf-8')
#shutil.copyfileobj(f1,f2) #
从一个文件对象拷贝到另一个文件对象

#shutil.copyfile("
笔记2",r"D:\笔记3") #直接复制文件 拷贝笔记2D盘的笔记3 权限不会拷贝

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

#shutil.copystat(src,dst) #
拷贝状态信息,内容不会拷贝,比如 mode bits,atime,mtime,flgs

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

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

#shutil.copytree(r"D:\project",r'E:\project') #
递归拷贝 目录不存在会创建

#shutil.rmtree(r"E:\project")  #
递归删除

#shutil.move(src,dst) #
移动文件

#shutil.make_archive(r'E:\project','zip',root_dir=r'D:\project')
#shutil.make_archive('
压缩文件夹和路径','格式',root_dir='需要压缩的对象文件夹')

import zipfile
# 压缩
z1=zipfile.ZipFile(r'E:\or.zip','w')
z1.write(
r'E:\file.txt'#仅限压缩单个文件
z1.write(r'E:\kk.bat') #仅限压缩单个文件
z1.close()

# 解压
#z=zipfile.ZipFile(r'E:\project.zip','r') #
打开压缩文件
#z.extractall(r'E:') #
执行解压动作,并解压到指定目录
#z.close()

import tarfile
# 压缩
tar=tarfile.open(r'E:\your.tar','w') #设置归档文件名为your.tar
tar.add(r'E:\or.zip',arcname='1.zip') #归档动作 arcname:将or.zip归档后命名为1.zip
tar.add(r'E:\install.ini',arcname='ins.ini') #可以归档普通文件
tar.add(r'E:\test') #也可以归档文件夹 可以不arcname重命名归档文件
tar.close()

# 解压
tar1=tarfile.open(r'E:\your.tar','r')
tar1.extractall(
r'E:\you') #设置解压地址 默认地址为当前地址
tar.close()