复习shutil模块

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

import shutil

shutil.copyfileobj(open(‘old.xml‘,‘r‘), open(‘new.xml‘, ‘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.ignore_patterns(*patterns)

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

import shutil

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

#目标目录不能存在,注意对folder2目录父级目录要有可写权限,ignore的意思是排除

拷贝软连接

import shutil

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

# 通常的拷贝都把软连接拷贝成硬链接,即对待软连接来说,创建新的文件

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

import shutil

shutil.rmtree(‘folder1‘)

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

import shutil

shutil.move(‘folder1‘, ‘folder3‘)

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

base_name:压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,data_bak =>保存至当前路径,/tmp/data_bak =>保存至/tmp/

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

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

owner:用户,默认当前用户

group:组,默认当前组

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

#将/data 下的文件打包放置当前程序目录

import shutil

ret = shutil.make_archive("data_bak", ‘gztar‘, root_dir=‘/data‘)

#将/data下的文件打包放置/tmp/目录

import shutil

ret = shutil.make_archive("/tmp/data_bak", ‘gztar‘, root_dir=‘/data‘)

shutil 对压缩包的处理是调用ZipFile 和TarFile 两个模块来进行的,详细:

#zipfile压缩解压缩

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(path=‘.‘)

z.close()

#tarfile压缩解压缩

import tarfile

# 压缩

t=tarfile.open(‘/tmp/egon.tar‘,‘w‘)

t.add(‘/test1/a.py‘,arcname=‘a.bak‘)

t.add(‘/test1/b.py‘,arcname=‘b.bak‘)

t.close()

# 解压

t=tarfile.open(‘/tmp/egon.tar‘,‘r‘)

t.extractall(‘/egon‘)

t.close()

原文地址:https://www.cnblogs.com/yangli0504/p/9201022.html

时间: 2024-10-08 01:02:46

复习shutil模块的相关文章

15 Jun 18 复习, shutil模块

15 Jun 18 复习shutil模块(高级的文件.文件夹.压缩包 处理模块) shutil.copyfileobj(fsrc, fdst[, length])  #将文件内容拷贝到另一个文件中 import shutil shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w')) shutil.copyfile(src, dst)  # 拷贝文件 import shutil shutil.copyfile('f1.log', '

5 Jun 18 复习,模块

5 Jul 17 复习,内置模块与第三方模块 一.time与datetime import time # 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. print(time.time())  # 1528188733.8373 # 格式化的时间字符串(Format String) print(time.strftime("%Y-%m-%d %X"))  # 2018-06-05 16:52:13 # 结构化的时间(st

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

python之-- shutil模块

shutil 模块功能:文件/文件夹的复制,压缩处理模块shutil.copyfileobj(fsrc,fdst[,length]):将文件内容拷贝到另一个文件中,也可以是部分内容举例:文件复制 import shutil # 必须先准备好读写的文件 sfile = open('func1.py',encoding='utf-8') dfile = open('func1.py.bak','w',encoding='utf-8') # 进行内容的复制 shutil.copyfileobj(sfi

以写代学:python shutil模块

在python交互解释器中导入shutil模块,一起来简单了解一下shutil模块,shutil是shell utility的缩写,shell实用工具 可以查看帮助 shutil(help)                     //可以显示出帮助信息 import shutil shutil.copy("/bin/ls","/home")     //将ls文件拷贝到home目录下,可以/home/list复制过来为list,这样做只拷贝内容.但目标必须是一个目

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中对文件、文件夹的操作需要涉及到os模块和shutil模块。

创建文件:1) os.mknod("test.txt") 创建空文件2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件 创建目录:os.mkdir("file") 创建目录 创建多层新目录:def mkdirs(path): # 去除首位空格 path=path.strip() # 去除尾部 \ 符号 path=path.rstrip("\\") # 判断路径是否存在 # 存在 True #