shutil 模块提供了大量的文件的高级操作。特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作。

1、 shutil.copyfileobj(fsrc, fdst[, length])

功能:把一个文件的内容拷贝到另外一个文件中。

2、shutil.copyfile(src, dst)

功能:拷贝文件,但不拷贝权限

3、shutil.copymode(src, dst)

功能:仅拷贝权限,内容、组、用户均不变。

4、shutil.copystat(src, dst)

功能:仅拷贝文件的状态信息,包括:mode bits, atime, mtime, flags

5、shutil.copy(src, dst)

功能:拷贝文件和文件的权限

6、shutil.copy2(src, dst)

功能:拷贝文件和文件的状态信息

7、shutil.copytree(src, dst[, symlinks=False[, ignore=None]])

功能:递归的去拷贝文件,相当于Shell中的cp -r命令

8、shutil.rmtree(path[, ignore_errors[, onerror]])

功能:递归的去删除文件,相当于Shell中的rm -rf命令

9、shutil.move(src, dst)

功能:递归的去移动文件 相当于Shell中的mv命令,可以用来重命名。

10、shutil.make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, dry=0, owner=None, group=None, logger=None)

功能:创建压缩包并且返回文件路径,例如:zip,tar包

base_name : 压缩包的文件名,也可以是压缩包的路径。只是文件名,则保存当前目录,否则保存到指定路径。

format:压缩包种类,'zip','tar','bztar','gztar'

root_dir:需要压缩的文件夹路径(默认当前路径)

owner:用户,默认当前用户

group:组,默认当前组

logger:用于记录日志,通常是logging.Logger对象

11、zipfile压缩&解压缩

功能:以zip的形式压缩文件,注意了这个只能压缩文件,不能压缩目录,如果压缩,也只能显示空目录。

import zipfile

# 压缩

z = zipfile.ZipFile('laxi.zip', 'w')

z.write('a.log')  #写入

z.write('data.data')

z.close()   #关闭

# 解压

z = zipfile.ZipFile('laxi.zip', 'r')

z.extractall()   #解压

z.close()

12、tarfile压缩&解压缩

功能:以tar的形式打包文件,这个能打包所有文件,包括目录

import tarfile

# 打包

tar = tarfile.open('your.tar','w')

#不加arcname打的是绝对路径,也就是/Users/wupeiqi/PycharmProjects/bbs2.zip,加这个表示你在your.tar中加什么文件就写什么文件名,也就是bbs2.zip

tar.add('/Users/wupeiqi/PycharmProjects/bbs2.zip', arcname='bbs2.zip')

tar.add('/Users/wupeiqi/PycharmProjects/cmdb.zip', arcname='cmdb.zip')

tar.close()

# 解压

tar = tarfile.open('your.tar','r')

tar.extractall()  # 可设置解压地址

tar.close()

1、tar打包不会压缩文件,所以文件的大小没有变

2、zip才会压缩,所以压缩后的文件大小会变小

3、一般情况下是先打包再压缩

shutil、zipfile,tarfile的更多相关文章

  1. shutil,zipfile,tarfile模块

    一,shutil模块 1.shutil.chown() shutil.chown('test.txt',user='mysql',group='mysql') #改变文件的属主和属组. 2.shuti ...

  2. Python之文件与目录操作及压缩模块(os、shutil、zipfile、tarfile)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  3. shutil模块,ZipFile 和 TarFile 两个模块

    高级的文件.文件夹.压缩包处理模块 shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中,可以部分内容 shutil.copyfile(src, ...

  4. python笔记07-----打包模块(shutil,zipfile,tarfile)

    1.shutil模块 复制删除 import shutil shutil.copy('filename', 'test2') # copy方法 f1 = open('filename',encodin ...

  5. 常用内置模块(一)--time、os、sys、random、shutil、pickle、json

    一.time模块 Python中,通常有这几种方式来表示时间: 1.时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type( ...

  6. 常用内置模块(一)——time、os、sys、random、shutil、pickle、json

    常用内置模块 一.time模块 在python中,时间分为3种       1.时间戳: timestamp,从1970年1月1日到现在的秒数, 主要用于计算两个时间的差    2.localtime ...

  7. 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)

    [转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...

  8. Python之文件与目录操作(os、zipfile、tarfile、shutil)

    Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读取或写入 os.path模块 文件路径操作 os模块 文件和目录简单操作 zipfile模 ...

  9. Python中模块之shutil及zipfile&tarfile的功能介绍

    shutil的功能介绍及其他打包.压缩模块 1. shutil模块的方法 chown 更改指定路径的属组 2. copy 拷贝文件和权限 方法:shutil.copy(src,dst,*,follow ...

随机推荐

  1. DSAPI 键盘鼠标钩子

    通常,说到Hook键盘鼠标,总需要一大堆代码,涉及各种不明白的API.而在DSAPI中,可以说已经把勾子简化到不能再简化的地步.甚至不需要任何示例代码即会使用.那么如何实现呢? Private Wit ...

  2. 移动端video不全屏播放

    <div class="m-video"> <video x5-playsinline="" playsinline="" ...

  3. vue中v-text / v-html

    vue中v-text / v-html使用 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  4. QQ音乐vkey获取,更新播放url

    QQ音乐接口播放经常换, 最开始 url: `http://ws.stream.qqmusic.qq.com/${musicData.songid}.m4a?fromtag=46` 然后 url:`h ...

  5. 《JavaScript高级程序设计》笔记:面向对象的程序设计(六)

    面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象. 理解对象 创建自定义对象的最简单的方法就是创建一个Object的实例,然后再为它添加属性和方法.例 ...

  6. android WebView技术笔记(存储技术)

    作为刚刚开始工作的新手程序猿,各种知识还不算熟练,所以将学习到的知识记录一下以免以后忘记. WebView加载h5的知识现在可以说非常的常用,通过加载h5的网页可以在不更新app的情况下来更新app的 ...

  7. C#零基础入门-1-安装IDE

    安装VS2017 下载安装,选择C#开发语言,过程略. 也可以使用VS2015

  8. django csrf token添加

    #views.py from django.shortcuts import render_to_response, RequestContext from django.views.decorato ...

  9. Cannot connect to WMI Provider & Invalid class [0x80041010]

    数据库服务器(Virtual Machine)所在的Nutanix一台主机由于故障,VM自动切换到另一台主机,切换过程中VM会重新启动,但是早上检查的时候,发现点击SQL Server Configu ...

  10. AngularJS学习之旅—AngularJS 事件(十四)

    1.AngularJS 事件 ng-click ( 适用标签 :所有,触发事件:单击): ng-dblclick( 适用标签 :所有,触发事件:双击): ng-blur(适用标签 : a,input, ...