zoukankan      html  css  js  c++  java
  • 三十四、python中shutil模块的介绍


    '''
    A.shutil:高级的文件 文件夹 压缩包 处理模块
    '''

    import shutil

    '''
    1.copyfileobj(a1,a2,lenth):将文件内容拷贝到另一个文件中
    '''

    shutil.copyfileobj(open('old.xml','r'),open('new.xml','w'),1)

    '''
    2.copyfile(a1,a2):拷贝文件
    '''
    shutil.copyfile('new.xml','new2.xml')

    '''
    3.copymode(a1,a2):拷贝文件,仅拷贝权限,内容,组,用户不变
    '''
    shutil.copymode('new.xml','new3.xml')

    '''
    4.copystat(a1,a2):拷贝状态信息
    '''
    shutil.copystat('new.xml','new3.xml')

    '''
    5.copy(a1,a2):拷贝文件内容和权限
    '''
    shutil.copy('new.xml','new4.xml')

    '''
    6.copy2(a1,a2):拷贝文件内容和状态
    '''
    shutil.copy2('new.xml','new5.xml')

    '''
    *7.copytree(a,b,symlinks=False, ignore=None):递归去拷贝文件夹,abs是文件夹,symlinks=False时为拷贝快捷方式,symlinks=True时,拷贝的是原文件夹
    ignore=shutil.ignore_patterns('*.pyc','tmp'):忽略拷贝以'*.pyc','tmp'结尾和开头的文件
    '''

    #shutil.copytree('a','b',ignore=shutil.ignore_patterns('*.pyc','tmp'))

    '''
    8.rmtree(path):递归的去删除文件夹
    '''
    #shutil.rmtree('c')

    '''
    9.move(a,b):递归去移动文件,类似于mv命令,其实就是重命名
    '''
    #shutil.move('a','c')

    '''
    B.make_archive:创建压缩文件
    xx.make_archive(base_name, format, ...)
    创建压缩包并返回文件路径,例如:zip、tar
    创建压缩包并返回文件路径,例如:zip、tar
    base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
    如:www = > 保存至当前路径
    format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
    root_dir: 要压缩的文件夹路径(默认当前目录)
    owner: 用户,默认当前用户
    group: 组,默认当前组
    logger: 用于记录日志,通常是logging.Logger对象
    '''

    # 将 D:1122 下的文件打包放置当前程序目录
    ret = shutil.make_archive("xxx",'gztar',root_dir='D:\1122')

    # 将 D:1122下的文件打包放置 D:1122目录
    ret = shutil.make_archive("D:\1122\xxx",'gztar',root_dir='D:\1122')

    '''
    C.zipfile解压缩文件
    '''
    import zipfile
    # z=zipfile.ZipFile('xx.zip','w')
    # z.write('ini')
    # z.write('new2.xml')

    # z.close()
    #解压
    z=zipfile.ZipFile('xx.zip','r')
    z.extractall()


    print(z.namelist()) #压缩包中的文件列表
    #解压
    z.extract('ini')
    z.close()
    '''
    D.tarfile:解压缩
    '''
    import tarfile
    #压缩
    tar=tarfile.open('xxx.tar','w')
    tar.add('ini',arcname='init')
    tar.add('new2.xml',arcname='new22.xml')
    tar.close()

    #解压
    tar=tarfile.open('xxx.tar','r')
    #tar.extractall()
    print(tar.getmembers())
    tar.extract('init')
    tar.close()
  • 相关阅读:
    Kth element of Two Sorted Arrays
    Populating Next Right Pointers in Each Node I && II
    Average waiting time of SJF and Round Robin scheduling
    LRU Cache
    Calculate H-index
    Get Level of a node in a Binary Tree
    Two Sum
    Intersection of Two Linked Lists
    Symmetric Tree
    Lowest Common Ancestor of Binary (Search) Tree
  • 原文地址:https://www.cnblogs.com/chushujin/p/9441236.html
Copyright © 2011-2022 走看看