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()

  • 相关阅读:
    Spring框架(二)
    Spring框架(一)
    SpringMVC中映射路径的用法之请求限制、命名空间
    关于映射路径@ReuqestMapping的总结
    关于什么是SpringMVC,和SpringMVC基于xml配置、注解配置、纯注解配置
    Spring Jdbc 框架整合的第一天
    Docker 搭建java+tomcat
    使用Docker安装mysql
    centos7.2 64位安装java
    Linux vim 基本操作
  • 原文地址:https://www.cnblogs.com/yaya625202/p/8763525.html
Copyright © 2011-2022 走看看