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

    shutil是一个高级的文件、文件夹、压缩包、处理模块
     
    shutil.copyfileobj(fsrc,fdes,length) 将文件内容拷贝到另一个文件中,可以只拷贝部分内容,需要我们自行打开文件对象进行copy
     
    shutil.copyfile(fsrc,fdes) 复制文件,我们只需要传入文件名称即可进行复制,不用自行预先打开,等于创建一个新的文件,把老文件写入到新文件中然后关闭,新创建的文件权限和属主等信息遵循操作系统规定
     
    shutil.copymode(src,des) 复制文件权限,既把src文件的权限复制给 des文件,只改变权限,不改变其他比如属组,内容等(des文件必须存在)
     
    shutil.copystat(src,des) 复制文件的权限,还包括,atime,mtime,flags等信息,不改变文件内容(des需存在)
     
    shutil.copy2(src,des) 复制文件的同时复制权限信息(等于shutil.copyfile + shutil.copystat)
     
    shutil.copytree(des,src) 递归复制文件,类似于copy -r
     
    shutil.rmtree(des)  递归的删除文件,类似于 rm -rf
     
    shutil.move(src,'des) 移动文件/目录,类似于mv 命令
     
    shutil.make_archive('压缩后的文件名称',‘压缩类型’,‘源目录’,‘other parameter’) 对源目录进行压缩(只能对目录进行压缩)
      名称可以是直接是文件名或者,如果是路径的话,默认最后一个名称为包名
      压缩类型有:zip、tar、bztar、gztar
      other_paramter:其他参数有,指定压缩后的用户,用户组,logger记录日志等
     
      扩展:make_archive其实是调用zipfile和tarfile两个模块来完成压缩和解压缩的
      zipfile模块压缩:
      z = zipfile.ZipFile('test.zip','w') -->创建一个压缩文件,以写模式打开
      z.write('a.log') -->把要压缩的文件名称,写入压缩文件
      z.write('b.log')
      z.close() -->关闭压缩文件
      zipfile模块解压缩:
      z = zipfile.ZipFile('test.zip','r') -->打开压缩文件
      z.extractall() -->解压缩,这里可以设置解压地址
      z.close()
     
      tarfile模块压缩:
      t = tarfile.open('test.tar','w')
      tar.add('test.txt')
      t.close()
      tarfile模块解压缩:
      t = tarfile.open('123.tar','r')
      t.extectall() -->解压tar文件
      t.close()
     
     
  • 相关阅读:
    MYSQL中replace into的用法以及与inset into的区别
    怎么安装phpcms?PHPCMS V9安装图文教程
    Yii 框架生成缩略图
    怎么让普通用户使用root权限执行用户命令
    自学Linux命令的四种方法
    最完整PHP.INI中文版
    前端chrome浏览器调试
    phpstorm快捷键记录
    客户关系管理
    Subquery returns more than 1 row
  • 原文地址:https://www.cnblogs.com/dachenzi/p/6661558.html
Copyright © 2011-2022 走看看