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 ()

posted @ 2018-09-22 01:46  不沉之月  阅读(109)  评论(0编辑  收藏  举报