Python3之shutil模块

一. 简介

  shutil 是高级的文件,文件夹,压缩包处理模块。

二. 使用

shutil.copyfileobj(fsrc, fdst[, length])
将文件内容拷贝到另一个文件中


1

2

3

import shutil

 

shutil.copyfileobj(open(‘old.xml‘,‘r‘), open(‘new.xml‘‘w‘))

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


1

shutil.copyfile(‘f1.log‘‘f2.log‘)

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


1

shutil.copymode(‘f1.log‘‘f2.log‘)

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


1

shutil.copystat(‘f1.log‘‘f2.log‘)

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


1

shutil.copy(‘f1.log‘‘f2.log‘)

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


1

shutil.copy2(‘f1.log‘‘f2.log‘)

shutil.ignore_patterns(*patterns)
shutil.copytree(src, dst, symlinks=False, ignore=None)
递归的去拷贝文件夹


1

2

3

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

shutil.copytree(‘f1‘‘f2‘, symlinks=True, ignore=shutil.ignore_patterns(‘*.pyc‘‘tmp*‘))

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


1

shutil.rmtree(‘folder1‘)

shutil.move(src, dst)
递归的去移动文件,它类似mv命令,其实就是重命名。


1

shutil.move(‘folder1‘‘folder3‘)

shutil.make_archive(base_name, format,...)

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

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

  • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
    如:www                        =>保存至当前路径
    如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
  • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
  • root_dir: 要压缩的文件夹路径(默认当前目录)
  • owner: 用户,默认当前用户
  • group: 组,默认当前组
  • logger: 用于记录日志,通常是logging.Logger对象

1

2

3

4

5

6

7

8

#将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录

import shutil

ret = shutil.make_archive("wwwwwwwwww"‘gztar‘, root_dir=‘/Users/wupeiqi/Downloads/test‘)

  

  

#将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录

import shutil

ret = shutil.make_archive("/Users/wupeiqi/wwwwwwwwww"‘gztar‘, root_dir=‘/Users/wupeiqi/Downloads/test‘)

  

shutil 对压缩包的处理是通过调用ZipFile 和 TarFile两个模块来进行的。


1

2

3

4

5

6

7

8

9

10

11

12

import zipfile

# 压缩

= zipfile.ZipFile(‘laxi.zip‘‘w‘)

z.write(‘a.log‘)

z.write(‘data.data‘)

z.close()

# 解压

= zipfile.ZipFile(‘laxi.zip‘‘r‘)

z.extractall()

z.close()


1

2

3

4

5

6

7

8

9

10

11

12

import tarfile

# 压缩

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

tar.add(‘/Users/wupeiqi/PycharmProjects/bbs2.log‘, arcname=‘bbs2.log‘)

tar.add(‘/Users/wupeiqi/PycharmProjects/cmdb.log‘, arcname=‘cmdb.log‘)

tar.close()

# 解压

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

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

tar.close()

  

原文地址:https://www.cnblogs.com/meng-wei-zhi/p/8258661.html

时间: 2024-11-02 06:56:20

Python3之shutil模块的相关文章

Python3 shutil模块

平时我们总会用到复制文件的命令,Python中自带了相应模块,那就是shutil模块,下面是shutil模块的分析及用法. 1.copyfileobj(fsrc, fdst, length=16*1024) 将源文件拷贝到目标文件,每次拷贝16KB.这个方法中,原文件及目标文件并没有进行关闭,所以这是一个基本方法,并不经常使用. 1 def copyfileobj(fsrc, fdst, length=16*1024): 2 """copy data from file-li

shutil模块和os模块对比

一.shutil -- 是一种高层次的文件操作工具类似于高级API,而且主要强大之处在于其对文件的复制与删除操作更是比较支持好. 1.shutil.copy(src,dst)复制一个文件到另一个目录下,返回dst路径.dst可以是一个文件,或者是一个目录.但src必须是一个文件,否则会报错. >>> shutil.copy("e:\\test\\pp.txt","f:\\yy.txt") 'f:\\yy.txt' >>> shut

python(6)-shutil模块

高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中: #源码 def copyfileobj(fsrc, fdst, length=16*1024): """copy data from file-like object fsrc to file-like object fdst""" while 1: buf = fsrc.read(length

python之模块之shutil模块

shutil -- --High-level file operations  高级的文件操作模块. os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作.比如说:绝对路径,父目录……  但是,os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些os模块都没有提供. 而本章所讲的shutil则就是对os中文件操作的补充.--移动 复制  打包 压缩 解压, shutil功能: 1  shutil.copyfileobj(fsrc, fdst[,

Python3.x标准模块库目录

Python3.x标准模块库目录 文本 1. string:通用字符串操作 2. re:正则表达式操作 3. difflib:差异计算工具 4. textwrap:文本填充 5. unicodedata:Unicode字符数据库 6. stringprep:互联网字符串准备工具 7. readline:GNU按行读取接口 8. rlcompleter:GNU按行读取的实现函数 二进制数据 9. struct:将字节解析为打包的二进制数据 10. codecs:注册表与基类的编解码器 数据类型 1

python基础系列教程——Python3.x标准模块库目录

python基础系列教程——Python3.x标准模块库目录 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 stringprep:互联网字符串准备工具 readline:GNU按行读取接口 rlcompleter:GNU按行读取的实现函数 二进制数据 struct:将字节解析为打包的二进制数据 codecs:注册表与基类的编解码器 数据类型 datetime:基于日期与时间工具

python shutil模块总结

shutil.copyfile(src,dst)复制文件,如果存在会覆盖 copymode( src, dst)复制权限 copystat(src, dst)复制访问时间和修改时间和权限 copy(src, dst) 复制文件到一个目录 copy2(src, dst)在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西 rmtree(path[, ignore_errors[, onerror]])删除文件 move(src, dst)move文件 copyt

shutil模块

对文件进行copy.还可以压缩包 文件copy 1)shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中,需要打开文件,fsrc,fdst是2个文件的文件句柄 1 import shutil 2 with open("old_file",encoding = "utf-8") as f1,3 open("new_file","w",encoding = "ut

python下通过os模块和shutil模块进行文件处理方式

python下通过os模块和shutil模块进行文件处理方式 得到当前工作目录路径:os.getcwd() 获取指定目录下的所有文件和目录名:os.listdir(dir) 删除文件:os.remove(file) 删除多个目录:os.removedirs(r"/home") 检测路径是否为文件:os.path.isfile(path) 检测路径是否为目录:os.path.isdir(path) 判断是否为绝对路径:os.path.isabs(path) 检测路径是否存在:os.pat