shutil复制粘贴和压缩

原创 2016年06月01日 10:14:57


shutil

高级的文件、文件夹、压缩包处理模块
@1)、将文件内容拷贝到另一个文件中
import shutil
shutil.copyfileobj(open("1.txt",'r'), open('2.txt','w'))


@2)、拷贝文件
import shutil
shutil.copyfile('f1.log','f2.log')


@3)、仅拷贝权限。内容、组、用户不变
shutil.copymode('f1.log','f2.log')


@4)、拷贝状态的信息,包括:mode bits ,atime(文件防伪时间), mtime, flags
shutil.copystat('f1.log','f2.log')


@5)、 拷贝文件和权限
shutil.copy(src,dst)
import shutil
shutil.copy('f1.log', 'f2.log')


@6)、拷贝文件和状态信息
import shutil
shutil.copy2('f1.log', 'f2.log')


@7)、递归的去拷贝文件夹
shutil.ignore_patterns(*patterns)
shutil.copytree(src,dst, symlinks=False, ignoer=None)
案例:
import shutil
shutil.copytree('folder1', 'folder2', ignore=shutil.ignore_patterns("*.py", "tmp*"))  #(ignore忽略)


@8)、递归的去删除文件
shutil.retree(path[,ignore_errors[,onerror]])
import shutil
shutil.retree('folder1')


@9)、递归的去移动文件,它类似mv命令,其实就是重命令
import shutil
shutil.move('folder1', 'folder3')


**********压缩和解压**********
@10)、shutil.make_archive(base_name, format,...)
创建压缩包并返回文件路径, 例如:zip, tar
a]· base_name :压缩包的文件名,也可以是压缩包路径。只是文件名时,则保持至当前目录,否则保存至指定路径
    如:www    -->保存至当前路径
    如:/Users/local/www  -->保存至/users/local
b]. format:压缩包种类,"zip,tar,bztar,gztar"
c]. root_dir :要压缩的文件夹路径(默认当前目录)
d]. owner: 用户,默认当前用户
d]. group:组,默认当前组
e]. logger:用于记录日志,通常是logging.Logger对象


----------
案例:
------------压缩-------------
#将/usr/local/lownloads/test下的文件打包放置当前程序目录
import shutil
ret = shutil.make_archive("www", 'gztar', root_dir = "/usr/local/downloads/test")
#将/usr/local/downsload/test 下的文件打包方放置在/usr/loca/目录
import shutil
ret = shutil.make_archive("/usr/local/www", 'gztar', root_dir='usr/local/downsload/test')



f].shutil对压缩包的处理是调用ZipFile和TarFile两个模块来进行的,详细:
    import zipfile
    #压缩
    z = zipfile.ZipFile('laxi.zip', 'w')
    z.write('a.log')
    z.write('data.data')
    z.close()


    -----------------
    #解压
 
    z = zipfile.ZipFile('lai.zip','r')
    z.extractall()
    z.close()


    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    import tarfile
    #压缩
 
    tar = tarfile.open('your.tar','w')
    tar.add('/usr/local/pycharm/bbs2.log', arcname='bbs2.log')
    tar.add('/usr/local/pycharm/cmd.log', arcname='cmd.log')
    tar.close()


    #解压
 
    tar = tarfile.open('your.tar', 'r')
    tar.extractall() #可设置解压地址
    tar.close()



版权声明:本文为博主原创文章,未经博主允许不得转载。

python 剪贴板与文件复制操作

#coding:utf-8 import shutil import time import traceback import json import urllib import re ...
  • shuifa2008
  • shuifa2008
  • 2013年10月14日 11:07
  • 1026

python基础(11)——shutil模块,zip模块

#高级系统模块 import shutil#copy() 复制文件 #res = shutil.copy('/home/aaa.txt', '/home/wangtianbao/aaa.txt') #...
  • tianabao
  • tianabao
  • 2018年01月14日 22:23
  • 28

shutil模块:复制文件和文件夹,文件压缩

shutil模块:复制文件和文件夹,文件压缩 shutil模块包含了一些用于复制文件和文件夹,和文件压缩的函数.  1.文件的拷贝 copyfile( src, dst) 从源src复制到...
  • franktan2010
  • franktan2010
  • 2015年06月04日 09:46
  • 1864

# Python3 shutil(高级文件操作 模块)

Python3 shutil(高级文件操作 模块) 高级文件操作(拷贝 / 移动 / 压缩 / 解压缩)
  • Rozol
  • Rozol
  • 2017年05月24日 03:16
  • 1563

【Python】常用模块(一)——shutil

常用模块——shutil
  • roguesir
  • roguesir
  • 2017年10月09日 13:14
  • 118

python- shutil 高级文件操作

shutil模块提供了文件和文件集合的一些高级操作
  • xmnathan
  • xmnathan
  • 2014年07月01日 21:47
  • 21888

rsync友好的shutil.copy2

使用python进行文件/目录复制操作时,常会使用自带的shutil模块。这个模块里,提供了copy、copystat、copy2等copy方法,它们之间的差别会有什么样的影响呢? 最近我在调查自己...
  • yibaijiajiao
  • yibaijiajiao
  • 2015年12月10日 14:01
  • 348

Python的shutil模块

shutil.copyfile(src,dst)::oldfile和newfile都只能是文件。     shutil.copy(src,dst): 复制一个文件到一个文件或一个目录 shutil.c...
  • zheng_lan_fang
  • zheng_lan_fang
  • 2017年08月04日 15:23
  • 77

python 文件操作 os模块和shutil模块

转载自:http://www.cnblogs.com/rollenholt/archive/2012/04/23/2466179.html ############################...
  • u012005313
  • u012005313
  • 2015年10月20日 15:14
  • 10625

8.8 shutil--高级的文件操作

本模块主要提供了一些对文件和多个文件的高级操作,比如文件的拷贝功能、文件的删除功能。如果只是想对一个文件进行操作,使用os模块操作就可以了。不过要值得注意的一点是本模块里拷贝文件和删除文件,在有一些情...
  • caimouse
  • caimouse
  • 2016年04月04日 20:24
  • 1465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shutil复制粘贴和压缩
举报原因:
原因补充:

(最多只允许输入30个字)