欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python_shutil模块

程序员文章站 2022-03-30 11:46:55
import shutil 高级的文件,文件夹,压缩包的处理模块,也主要用于文件的拷贝 shutil.copyfileobj(fsrc,fdst[,length]): 将文件的内容拷贝到另一个文件(可以指定length长度进行拷贝) shutil.copyfile(src,dst): 拷贝文件 sh ......

import shutil

高级的文件,文件夹,压缩包的处理模块,也主要用于文件的拷贝

  shutil.copyfileobj(fsrc,fdst[,length]):  将文件的内容拷贝到另一个文件(可以指定length长度进行拷贝) 

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

  shutil.copyfile(src,dst):  拷贝文件

import shutil
shutil.copyfile('f1.log','f2.log')

  shutil.copymode(src,dst):  仅拷贝权限,内容、组、用户均不变

import shutil
shutil.copymode('f1.log', 'f2.log')

  shutil.copystat(src,dst):  拷贝状态的信息,包括:mode bits,atime,mtime,flags

import shutil
shutil.copystat('f1.log', 'f2.log')

  shutil.copy(src,dst):  拷贝文件和权限

import shutil
shutil.copy('f1.log', 'f2.log')

  shutil.copy2(src,dst):  拷贝文件和状态信息

import shutil
shutil.copy2('f1.log', 'f2.log')

  shutil.copytree(src,det,symlinks=false,ignore=none):  递归的去拷贝文件

import shutil
shutil.copytree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))

  shutil.rmtree(path[,ignore_errors[,onerror]]):  递归的去删除文件

import shutil
shutil.rmtree('folder1')

  shutil.move(src,dst):  递归的去移动文件(重命名)

import shutil
shutil.move('folder1', 'folder3')

  shutil.make_archive(base_name, format,...):  创建压缩包并返回文件路径,例如:zip、tar

  • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径(例:presley=>保存至当前路径,/user/presley =>保存至/users/路径下)
  • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
  • root_dir: 要压缩的文件夹路径(默认当前目录)
  • owner: 用户,默认当前用户
  • group: 组,默认当前组
  • logger: 用于记录日志,通常是logging.logger对象
import shutil
z = shutil.make_archive('presly', 'gztar', root_dir='d:\软件下载')

 

shutil对压缩包的处理,也可调用zipfile或tarfile模块进行压缩