python基础学习shutil高级的文件,目录,压缩包处理模块

shutil高级的文件,目录,压缩包处理模块
import shutil

复制
shutil.copyfileobj(f1,f2) #从一个文件对接复制到另一个文件对象,需要先打开文件
shutil.copyfile() #拷贝文件
shutil.copystat() #只拷贝文件状态信息 包括 modebits,atime,mtime,flags
shutil.copymode() #值拷贝权限。内容和组,用户均不改变
shutil.copy() #拷贝文件和权限
shutil.copy2() #同时拷贝文件和状态信息
shutil.copytree() #递归拷贝文件或目录
shutil.rmtree() #递归删除文件或目录
shutil.move() #移动文件


压缩包

shutil.make_archive(base_name,format,..) 创建压缩包并返回文件路径
base_name 压缩包的文件名
format:压缩包的种类 ("zip","tar","gztar","bztar")
root_dir:压缩的文件路径
owner:用户,默认当前用户
group:组,默认当前组
logger:用于记录日志,通常是logging.logger对象
例:shutil.make_archive("www","gztar",root_dir="/home/www")

shutil对压缩包的处理是调用了zipfile和tarfile 两个模块来进行处理
使用这两个模块进行解压缩
import zipfile
z = zipfile.zipfile('www/zip','r')
z.extractall()
z.close

 

import tarfile
tar = tarfile.open('www.tar','r')
tar.extractall()
tar.close

 

 

import gzip
import os
def un_gz(file_name):
    """ungz zip file"""
    f_name = file_name.replace(".gz", "")
    #获取文件的名称,去掉
    g_file = gzip.GzipFile(file_name)
    #创建gzip对象
    open(f_name, "w+").write(g_file.read())
    #gzip对象用read()打开后,写入open()建立的文件里。
    g_file.close()
    #关闭gzip对象
posted @ 2017-11-05 14:16  uyahs  阅读(580)  评论(0编辑  收藏  举报