zoukankan      html  css  js  c++  java
  • python 基础(十八)--shutil模块

    shutil模块

    shutil.copyfileobj(src,dst):只拷贝文件内容,需要open文件;目标文件不存在时创建,存在时覆盖

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

    shutil.copyfle(src.dst):直接拷贝文件内容

    shutil.copy(src,dst):内容 和 权限

    shtuil.copy2(src,dst):内容 和 状态信息(元数据)

    shutil.copymode(src,dst):仅权限;dst必许存在

    shutil.copystat(src,dst):仅状态;dst必许存在

    shutil.ignore_patterns():globbing类型通配符

    shutil.copytree(src,dst,symlink=false,ignore=none):Windows中不支持symblink

    >>> shutil.copytree('Tools','f2',ignore=shutil.ignore_patterns('?j.txt'))

    shutil.rmtree(path):递归删除文件,必许是文件夹

    shutil.move(src,dst):移动到当前目录下相当于修改名字

    shutil.make_archive(base_name,format,...)

    创建压缩包并返回文件路径

    • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径, 如:www                        =>保存至当前路径 如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
    • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
    • root_dir: 要压缩的文件夹路径(默认当前目录)
    • owner: 用户,默认当前用户
    • group: 组,默认当前组
    • logger: 用于记录日志,通常是logging.Logger对
    import shutil
    a = shutil.make_archive(r'.	est2','zip',r'.	est1')      # 必须是目录不能是文件!windows下用/分隔符

    关于zipfile和tarfile两个模块

    import zipfile,tarfile
    # 压缩
    z = zipfile.ZipFile('lala.zip','w')
    z.write('test1')
    z.close()
    
    t = tarfile.open('haha.zip','w')
    t.add('test1','test1-1') # test1-1为压缩后的名字
    t.close()
    # 解压
    z_decom = zipfile.ZipFile('lala.zip','r')
    z_decom.extract('test1/') # 需要指定目录,Windows中文件夹需要/表示
    z_decom.close()
    
    t_decom = tarfile.open('haha.zip','r')
    t_decom.extractall()    # extractall不需要指定mem,都可以指定解压至 路径
    _decom.close()

    压缩时不能压缩路径里面的每个文件

    配合os.walk()提取,每个文件的路径可实现此需求

     两个模块的详细用法https://www.cnblogs.com/ManyQian/p/9193199.html

  • 相关阅读:
    java处理jqueryGantt甘特图数据的task.depends依赖规则方法
    中国行政区划表,包括34个省、直辖市的所有数据 mysql数据
    使用mybatis的resultMap进行复杂查询
    intel 酷睿core系列cpu的类型:U M H HQ MQ
    mybatis问题。foreach循环遍历数组报错情况,及其解决方法
    Android开发 DownloadManager详解
    Android开发 WorkManager详解
    Android开发 在不使用ItemTouchHelper的情况下实现ItemView的左右滑动
    AndroidStudio ViewBinding详解
    Android开发 滚轮View第三方框架
  • 原文地址:https://www.cnblogs.com/lalaxing/p/11369643.html
Copyright © 2011-2022 走看看