shutil.copyfileobj(src,dst):只拷贝文件内容,需要open文件;目标文件不存在时创建,存在时覆盖
shutil.copyfle(src.dst):直接拷贝文件内容
shutil.copy(src,dst):内容 和 权限
shtuil.copy2(src,dst):内容 和 状态信息(元数据)
shutil.copymode(src,dst):仅权限;dst必许存在
shutil.copystat(src,dst):仅状态;dst必许存在
shutil.ignore_patterns():globbing类型通配符
shutil.copytree(src,dst,symlink=false,ignore=none):Windows中不支持symblink
>>> hutil.copytree(‘Tools‘,‘f2‘,ignore=shutil.ignore_patterns(‘?j.txt‘))
shutil.rmtree(path):递归删除文件,必许是文件夹
shutil.move(src,dst):移动到当前目录下相当于修改名字
shutil.make_archive(base_name,format,...)
创建压缩包并返回文件路径
import shutil a = shutil.make_archive(r‘.\test2‘,‘zip‘,r‘.\test1‘)
关于zipfile和tarfile两个模块
import zipfile,tarfile # 压缩 z = zipfile.ZipFile(‘lala.zip‘,‘w‘) z.write(‘test1‘) z.close() t = tarfile.open(‘haha.zip‘,‘w‘) t.add(‘test1‘,‘test1-1‘) # test1-1为压缩后的名字 t.close() # 解压 z_decom = zipfile.ZipFile(‘lala.zip‘,‘r‘) z_decom.extract(‘test1/‘) # 需要指定文件,Windows中文件夹需要/表示 z_decom.close() t_decom = tarfile.open(‘haha.zip‘,‘r‘) t_decom.extractall() # extractall不需要指定mem,都可以指定解压至 路径 _decom.close()
压缩时不能压缩路径里面的每个文件
配合os.walk()提取吗,每个文件的路径可实现此需求
两个模块的详细用法https://www.cnblogs.com/ManyQian/p/9193199.html
原文:https://www.cnblogs.com/lalaxing/p/11369643.html