shutil模块

import shutil

#shutil 是高级的文件、文件夹、压缩包处理模块。

#将文件old1.txt内容拷贝到文件new1.txt中
shutil.copyfileobj(open('old1.txt','r'),open('new1.txt','w'))

#将old1.txt复制一份为new2.txt
shutil.copyfile('old1.txt','new2.txt')

#仅拷贝权限,内容、组、用户均不变
shutil.copymode('old1.txt','new2.txt')

#仅拷贝状态信息,如mode bits, atime, mtime, flags
shutil.copystat('old1.txt','new2.txt')

#拷贝文件和权限
shutil.copy('old1.txt','new2.txt')

#拷贝文件和状态信息
shutil.copy2('old1.txt','new1.txt')

#拷贝目录
shutil.copytree(r'c:\a',r'd:\b') #将目录a复制到d盘并重命名为b
shutil.copytree(r'c:\a',r'd:\a') #将目录a复制到d盘
shutil.copytree(r'c:\test01',r'c:\test02',symlinks=True, ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))

#递归删除目录(如果是非空目录,直接递归删掉,对于空目录只能删掉一层
shutil.rmtree(r'd:\d01',ignore_errors=True)

#重命名
shutil.move(r'd:\111',r'd:\222')

#对指定文件或目录进行压缩
#格式:shutil.make_archive(base_name, format,...)
#对d:\moive目录下的所有文件和子目录(moive目录本身不包含进来)压缩成:d:\backup.zip文件
# format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
# root_dir: 要压缩的文件夹路径(默认当前目录)
# owner: 用户,默认当前用户
# group: 组,默认当前组
# # logger: 用于记录日志,通常是logging.Logger对象

shutil.make_archive(r'd:\backup','zip',root_dir=r'd:\moive')

##############################
#创建zip压缩文件

import zipfile

z = zipfile.ZipFile(r"d:\backup.zip",'w') #创建d:\backup.zip压缩文件
z.write(r'd:\zabbix.txt') #指定哪些文件需要压缩
z.close()

#解压zip文件
x = zipfile.ZipFile('test.zip','r')
x.extractall()
x.close()

#创建tar压缩文件
import tarfile

tar = tarfile.open(r'd:\backup.tar','w') #创建d:\backup.tar压缩文件
tar.add(r'd:\nginx-chk.sh') #指定哪些文件需要压缩
tar.close()

#解压tar文件
tar = tarfile.open('tar.tar','r')
tar.extractall() # 可设置解压地址
tar.close()
posted @ 2017-10-25 10:15  浆糊jun  阅读(181)  评论(0编辑  收藏  举报