zoukankan      html  css  js  c++  java
  • 模块-shutil

    高级的文件、文件夹、压缩包处理

    • shutil.copyfileobj(fsrc,fdst,[length])  #length表示每次读多少
      f1=open('f1.txt','r')
      f2=open('f2.txt','w')
      shutil.copyfileobj(f1,f2)
      f1.close()
      f2.close()

    • shutil.copyfiel(src,dst)  #拷贝两个文件,无需打开
    • shutil.copymode(src,dst)  #仅拷贝权限,内容、组、用户均不变
    • shutil.copystat(src,dst)  #拷贝状态信息,包括utime,chmod,chflags等
    • shutil.copy(src,dst)  #拷贝文件和权限
    • shutil.copy2() #拷贝文件和状态信息
    • shutil.copytree(src,dst,symlinks=False,lgnore=None) #递归拷贝目录和文件,symlinks表示是否拷贝软链接,lgnore表示忽略那些文件,ignore=shutil.ignore_patterns("__init__.py","__init__..pyc")
      shutil.copytree('d1','d2')

    • shutil.rmtree(path,[ignore_errors])  #递归删除目录,ignore_errors忽略错误
    • shutil.move(srt,dst)  #递归移动文件
      shutil.move('d1','d11')

    • shutil.make_archive(base_name,format....)  #创建压缩文件,归档
      • base_name:压缩包的文件名,无需后缀,也可以包含压缩包存储路径。只是文件名,则保存到当前目录,否则保存到指定路径
      • format:压缩包格式,"zip","tar","bztar","gztar"
      • root_dir:要压缩的文件夹路径,默认当前目录
      • owner:用户,默认当前用户
      • group:用户组,默认当前用户组
      • logger:用于记录日志,通常为loggin.Logger对象
        shutil.make_archive('D:\d11',"zip",root_dir="C:Python36d11")
        'D:\d11.zip'

    • shutil文件压缩是封装ZipFile和TarFile两个模块来实现
      #这里write添加文件夹,不会自动添加文件夹中的文件
      z=zipfile.ZipFile('test.zip','w')
      z.write('d11')
      z.write('Scripts')
      z.close()

       解压:

      z=zipfile.ZipFile('test.zip','r')
      z.extractall()
      z.close()

      TarFile,只打包,不压缩

      import tarfile
      f=tarfile.open('test.tar','w')
       f.add(r"C:Python36Scripts")#没加arcname参数,默认将路径也同步打包。可自定义名称,如pack_test
      f.add(r"C:Python36Doc")
      f.close()

  • 相关阅读:
    Python3学习笔记(十二):闭包
    Python3学习笔记(十一):函数参数详解
    PostgreSQL psql中如何查看快捷功能的对应函数
    PostgreSQL逻辑复制槽 pg_recvlogical test_decoding wal2json
    记一次内存占用过高的分析
    数据库一致性解读
    PostgreSQL常用插件收集
    PostgreSQL truncate table会释放索引的空间
    PostgreSQL锁级别及什么操作获取什么锁
    PostgreSQL设置事务隔离级别实验
  • 原文地址:https://www.cnblogs.com/yaya625202/p/8763525.html
Copyright © 2011-2022 走看看