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:') #将目录a复制到d盘并重命名为b
shutil.copytree(r'c:a',r'd:a') #将目录a复制到d盘
shutil.copytree(r'c: est01',r'c: est02',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:ackup.zip文件
# format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
# root_dir: 要压缩的文件夹路径(默认当前目录)
# owner: 用户,默认当前用户
# group: 组,默认当前组
# # logger: 用于记录日志,通常是logging.Logger对象
shutil.make_archive(r'd:ackup','zip',root_dir=r'd:moive')
##############################
#创建zip压缩文件
import zipfile
z = zipfile.ZipFile(r"d:ackup.zip",'w') #创建d:ackup.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:ackup.tar','w') #创建d:ackup.tar压缩文件
tar.add(r'd:
ginx-chk.sh') #指定哪些文件需要压缩
tar.close()
#解压tar文件
tar = tarfile.open('tar.tar','r')
tar.extractall() # 可设置解压地址
tar.close()