shutil模块
import shutil
# with open('old.xml','r') as read_f,open('new.xml', 'w') as write_f:
# shutil.copyfileobj(read_f,write_f)
#
# shutil.make_archive("data_bak", 'gztar', root_dir='D:\SH_fullstack_s2\day04')
import tarfile
t=tarfile.open('data_bak.tar.gz','r')
t.extractall('D:\SH_fullstack_s2\day20\dir')
t.close()
shutil 模块 非常简便的文件操作 压缩包处理模块
shutil.copyfileobj 拷贝文件 提供两个文件对象 长度表示缓冲区大小
shutil.copyfile (src, dst) 拷贝文件 提供两个文件路径
shutil.copymode () 拷贝文件权限 提供两个文件路径
shutil.copystat (src, dst) 拷贝文件状态信息后访问后修改权限提供两个文件路径
shutil.copy (src, dst) 拷贝文件和权限 提供两个文件路径
shutil.copy2 (src, dst) 拷贝文件和状态信息 提供两个文件路径
shutil.ignore_patterns ("mp3","*.py") shutil.copytree (src, dst, symlinks=False, ignore=None) 拷贝目录
symlinks 默认False将软接拷贝为硬链接 否则拷贝为软连接
shutil.rmtree 删除目录 可以设置忽略文件
shutil.move (src, dst) 移动目录和文件
压缩与解压缩 shutil 可以打包 但是无法解包 并且打包也是调用tarfile 和 zipFile完成 解压需要按照格式调用对应的模块打包
shutil.make_archive("test","tar","/Users/jerry/PycharmProjects/package/packa ge1")
import tarfile ,zipfile
zip 压缩 z = zipfile.ZipFile ("test.zip","w") z.write ("sys.py") z.write ("start.py") z.close ()
zip 解压 z = zipfile.ZipFile ("test.zip",'r') z.extractall ("/Users/jerry/PycharmProjects/package/aaa") z.close ()
tar 压缩 t = tarfile.open ("test.tar","w") t.add ("start.py") t.add ("sys.py") t.close ()
tar 解压 t = tarfile.open ("test.tar") t.extractall ("aaa/") t.close ()