第四十三节,文件、文件夹、压缩包、处理模块shutil
文件、文件夹、压缩包、处理模块shutil
文件处理
copyfileobj()模块函数
功能:将a文件的内容,复制到b文件中【有参】
使用方法:模块名称.copyfileobj(poen("打开a文件"), poen("打开b文件"), [length=宽度])
格式如:shutil.copyfileobj(open("des","r",encoding='utf-8'), open("des2","w",encoding='utf-8'))
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.copyfileobj(open("des","r",encoding='utf-8'), open("des2","w",encoding='utf-8')) #将a文件的内容,复制到b文件中
copyfile()模块函数
功能:将a文件拷贝成一份b文件,将拷贝a文件的所有信息【有参】
使用方法:模块名称.copyfile("a文件路径名称","b文件路径名称")
格式如:shutil.copyfile("des2","des3")
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.copyfile("des2","des3") #将a文件拷贝成一份b文件
copymode()模块函数
功能:将a文件信息拷贝到b文件,仅拷贝权限(内容、组、用户均不变)【有参】
使用方法:模块名称.copymode("a文件路径名称","b文件路径名称")
格式如:shutil.copymode("des","des2")
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.copymode("des","des2") #将a文件信息拷贝到b文件,仅拷贝权限(内容、组、用户均不变)
copystat()模块函数
功能:将a文件信息拷贝到b文件,包括:mode bits, atime, mtime, flags,(内容不变)【有参】
使用方法:模块名称.copystat("a文件路径名称","b文件路径名称")
格式如:shutil.copystat("des","des2")
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.copystat("des","des2") #将a文件信息拷贝到b文件,仅拷贝权限(内容、组、用户均不变)
copy()模块函数
功能:将a文件内容和权限拷贝到b文件,b文件如果不存在则创建【有参】
使用方法:模块名称.copy("a文件路径名称","b文件路径名称")
格式如:shutil.copy("des","des2")
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.copy("des","des2") #将a文件内容和权限拷贝到b文件,b文件如果不存在则创建
copy2()模块函数
功能:将a文件内容和状态信息拷贝到b文件,b文件如果不存在则创建【有参】
使用方法:模块名称.copy2("a文件路径名称","b文件路径名称")
格式如:shutil.copy2("des","des2")
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.copy2("des","des2") #将a文件内容和状态信息拷贝到b文件,b文件如果不存在则创建
文件夹处理
ignore_patterns()模块函数
功能:忽略文件指定的文件,一般都是配合其他使用【有参】
使用方法:模块名称.ignore_patterns("要忽略的文件","多个文件用,号隔开")
格式如:shutil.ignore_patterns("des")
copytree()模块函数
功能:递归的去拷贝文件夹包括内容,将a文件夹拷贝成一份b文件夹,如果b文件夹存在报错,[可选:1如果里面有快捷方式是拷贝快捷方式,还是原文件、2是否忽略里面的指定文件不拷贝]【有参】
使用方法:模块名称.copytree("a文件夹路径名称","b文件夹路径名称",symlinks=是否拷贝快捷方式,ignore=需要忽略的文件)
格式如:shutil.copytree("2","3",symlinks=False,ignore=shutil.ignore_patterns('*.py'))
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.copytree("2","3",symlinks=False,ignore=shutil.ignore_patterns('*.py')) #递归的去拷贝文件夹包括内容,将a文件夹拷贝成一份b文件夹,如果b文件夹存在报错,[可选:1如果里面有快捷方式是拷贝快捷方式,还是原文件、2是否忽略里面的指定文件不拷贝]
rmtree()模块函数
功能:递归的去删除文件夹,删除文件夹包括内容,只能删除文件夹【有参】
使用方法:模块名称.rmtree("要删除的文件夹路径名称")
格式如:shutil.rmtree("3")
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.rmtree("3") #递归的去删除文件夹,删除文件夹包括内容,只能删除文件夹
shutil.move()模块函数
功能:文件夹重命名【有参】
使用方法:模块名称.shutil.move("要重命名文件夹路径名称","要命名的名称")
格式如:shutil.move("2","3")
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.move("2","3") #文件夹重命名
压缩文件处理
make_archive()模块函数
功能:将一个指定文件夹,压缩成指定格式的压缩包,保存到指定路径【有参】
使用方法:模块名称.make_archive("要保存的路径加压缩包名称","压缩格式",root_dir
="要压缩的路径加目录名称"
)
格式如:shutil.make_archive("H:\py/123","zip",root_dir="H:\py/3")
make_archive(base_name, format,...)
base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,【必选】
如:www =>保存至当前路径
如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar” 【必选】
root_dir: 要压缩的文件夹路径(默认当前目录)【必选】
owner: 用户,默认当前用户【可选】
group: 组,默认当前组【可选】
logger: 用于记录日志,通常是logging.Logger对象【可选】
#!/usr/bin/env python # -*- coding:utf8 -*- import shutil shutil.make_archive("H:\py/123","zip",root_dir="H:\py/3",) #将一个指定文件夹,压缩成指定格式的压缩包,保存到指定路径
shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的
ZipFile模块
ZipFile()模块函数
功能:打开zip压缩包文件【有参】
使用方法:模块名称.ZipFile("要打开的压缩包路径名称","打开模式")
格式如:zipfile.ZipFile("H:\py/789.zip","w")
r,只读模式
w,只写模式【不可读;不存在则创建;存在则清空内容;】
x, 只写模式【不可读;不存在则创建,存在则报错】
a, 追加模式【不可读; 不存在则创建;存在则只追加内容;】
更多参照,第二十六节,内置函数,文件操作哪里
write()模块函数
功能:将指定文件添加写入指定的zip压缩包【有参】
使用方法:打开zip压缩包变量.write("要写入压缩包文件的路径名称")
格式如:a.write("H:\py/2.txt")
close()模块函数
功能:关闭打开的zip压缩包【无参】
使用方法:打开zip压缩包变量.close()
格式如:a.close()
#!/usr/bin/env python # -*- coding:utf8 -*- import zipfile a = zipfile.ZipFile("H:\py/789.zip","w") #打开指定的zip文件,以w模式打开,如果文件不存在则创建 a.write("H:\py/2.txt") #将指定的文件,写入添加到压缩包 a.write("H:\py/des") #将指定的文件,写入添加到压缩包 a.close() #关闭打开的文件
extractall()模块函数
功能:解压指定zip压缩包里的所有文件,到指定路径【有参】
使用方法:打开zip压缩包变量.extractall(["解压保存路径"])
格式如:a.extractall()
#!/usr/bin/env python # -*- coding:utf8 -*- import zipfile a = zipfile.ZipFile("H:\py/789.zip","r") #打开指定的zip文件,以r模式打开,如果文件不存在则创建 a.extractall() #解压指定zip压缩包里的所有文件【无参】 a.close() #关闭打开的文件
namelist()模块函数
功能:查看指定zip压缩包里的文件,返回列表,列表里的元素是文件路径加名称【无参】
使用方法:打开zip压缩包变量.namelist()
格式如:b = a.namelist()
#!/usr/bin/env python # -*- coding:utf8 -*- import zipfile a = zipfile.ZipFile("H:\py/789.zip","r") #打开指定的zip文件,以r模式打开,如果文件不存在则创建 b = a.namelist() #查看指定zip压缩包里的文件,返回列表,列表里的元素是文件路径加名称 print(b) a.close() #关闭打开的文件 # 输出 # ['py/2.txt', 'py/des']
extract()模块函数
功能:解压指定zip压缩包里的指定文件【有参】
使用方法:打开zip压缩包变量.extract("压缩包里的文件路径名称",path="要解压到的路径")
格式如:a.extract("py/des",path="H:\py2")
#!/usr/bin/env python # -*- coding:utf8 -*- import zipfile a = zipfile.ZipFile("H:\py/789.zip","r") #打开指定的zip文件,以r模式打开,如果文件不存在则创建 # b = a.namelist()#查看指定zip压缩包里的文件,返回列表,列表里的元素是文件路径加名称 # print(b) a.extract("py/des",path="H:\py2") #解压指定zip压缩包里的指定文件【有参】 a.close() #关闭打开的文件
TarFile模块
open()模块函数
功能:打开tar文件,如果以w模式打开,如果文件不存在则创建【有参】
使用方法:模块名称.open("要打开的tar文件路径名称","打开模式")
格式如:tarfile.open("H:\py/9.tar","w")
add()模块函数
功能:将指定目录或文件,添加到tar压缩包,并把添加进去的文件更改成指定的名称【有参】
使用方法:打开tar文件变量.add("要添加到压缩包的文件路径名称",[arcname="添加到压缩包后更改的名称"])
格式如:a.add("H:\py2\py\des",arcname="lib2")
close()模块函数
功能:关闭打开的tar文件
使用方法:打开tar文件变量.close()
格式如:a.close()
#!/usr/bin/env python # -*- coding:utf8 -*- import tarfile a = tarfile.open("H:\py/9.tar","w") #写入模式打开9.tar文件,如果文件不存在则创建 a.add("H:\py2\py\des",arcname="lib2") #将指定目录或文件,添加到tar压缩包,并把添加进去的文件更改成指定的名称 a.close() #关闭打开的tar文件
extractall()模块函数
功能:解压指定tar压缩包里的所有文件,到指定路径【有参】
使用方法:打开tar压缩包变量.extractall(["解压保存路径"])
格式如:a.extractall("H:\py")
#!/usr/bin/env python # -*- coding:utf8 -*- import tarfile a = tarfile.open("H:\py/9.tar","r") #以r模式打开tar文件 a.extractall("H:\py") #解压指定tar压缩包里的所有文件,到指定路径【有参】 a.close() #关闭打开的tar文件
getmembers()模块函数
功能:查看指定tar压缩包里的文件,返回列表,列表里的元素是文件路径加名称【无参】
使用方法:打开tar压缩包变量.getmembers()
格式如:b = a.getmembers()
#!/usr/bin/env python # -*- coding:utf8 -*- import tarfile a = tarfile.open("H:\py/9.tar","r") #以r模式打开tar文件 b = a.getmembers() #查看指定tar压缩包里的文件,返回列表,列表里的元素是文件路径加名称【无参】 for i in b:print(i) a.close() #关闭打开的tar文件 # 输出 # <TarInfo 'py2/py' at 0x78f5462d90> # <TarInfo 'py2/py/2.txt' at 0x78f5462f20> # <TarInfo 'py2/py/3.html' at 0x78f554b048> # <TarInfo 'py2/py/des' at 0x78f554b110> # <TarInfo 'py2/py/ini' at 0x78f554b1d8>
extract()模块函数
功能:解压指定tar压缩包里的指定文件【有参】
使用方法:打开tar压缩包变量.extract("压缩包里的文件路径名称",path="要解压到的路径")
格式如:a.extract("py2/py/des",path="H:\py")
#!/usr/bin/env python # -*- coding:utf8 -*- import tarfile a = tarfile.open("H:\py/9.tar","r") #以r模式打开tar文件 a.extract("py2/py/des",path="H:\py") #解压指定tar压缩包里的指定文件【有参】 a.close() #关闭打开的tar文件
转载于:https://www.cnblogs.com/adc8868/p/5835719.html
第四十三节,文件、文件夹、压缩包、处理模块shutil相关推荐
- 风炫安全Web安全学习第四十三节课 路径遍历漏洞
风炫安全Web安全学习第四十三节课 路径遍历漏洞 路径遍历 0x01 漏洞概述 路径遍历攻击(也称作目录遍历)的目标是访问web根目录外存储的文件和目录.通过操纵使用"点-斜线(-/)&qu ...
- Python编程基础:第四十三节 多继承Multiple Inheritance
第四十三节 多继承Multiple Inheritance 前言 实践 前言 多继承是指一个子类可以拥有多个父类,其所有父类的属性和方法都能被其调用.其中多个父类之间用逗号隔开. 实践 我们先定义两个 ...
- python中shutil模块_python文件、文件夹、压缩包处理模块-shutil模块-阿里云开发者社区...
shutil模块 高级的文件.文件夹.压缩包 处理模块 本节内容基本在linux下python交互环境实现 复制移动文件.文件夹 将文件内容拷贝到另一个文件中,可以部分内容 格式如下: ``` shu ...
- python创建模块文件夹_python文件、文件夹、压缩包处理模块-shutil模块
shutil模块 高级的文件.文件夹.压缩包 处理模块 本节内容基本在linux下python交互环境实现 复制移动文件.文件夹 将文件内容拷贝到另一个文件中,可以部分内容 格式如下: ``` shu ...
- 四十二、文件的物理结构(下)
一.文件分配方式-索引分配 如何实现文件的逻辑块号到物理块号的转换? 从目录项中可知索引表的存放位置,将索引表从外存读入内存,并查找索引表即可知道 i 号逻辑块在外存中的存放位置. 由此可见,索引分配 ...
- AUTOSAR从入门到精通100讲(四十二)-Autosar架构下的模块详细设计及代码实现--基于配置的编程方法
1.Autosar静态代码和动态代码 Autosar架构下的静态代码(Static)可以理解为不可变(由工具商编写维护)的代码,根据配置进行逻辑/算法处理以及状态机的维持及跳转等.动态(Dynamic ...
- shutil——高级的 文件、文件夹、压缩包 处理模块
高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 复制文件内容(不包含元数据)从类文件对象src到类文件对dst.可选参数len ...
- python copy模块_python日记第四章:python文件copy模块shutil
shutil 模块 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中 import shutil ...
- 文件copy模块shutil
shutil 模块 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中 import shuti ...
最新文章
- 面试官:消息队列这些我必问!
- oracle11g自带优化吗,windows下Oracle11g的优化教程
- revit建筑样板_Revit出建筑施工图步骤及注意事项
- sql 使用存储过程传递列名或表名作为参数
- Google Guava官方教程(中文版)
- python 好用的库存尾货女装_女装店主:做尾货有人能赚大钱,新手千万别碰,文茵告诉你原因...
- 11/28 前端码农日报
- using 语句中使用的类型必须可隐式转换为“System.IDisposable“
- Facebook视频支持AV1
- Git Pull Failed:Could not read from remote repository
- POJ - 1008 Maya Calendar
- 深度学习:Seq2seq模型
- js实现网页中元素缩放(zoom vs scale)
- 2015年全国村级点位置矢量SHP格式数据下载
- 关于MDK调试stm32f072vbt6(HAL库)内部flash在擦除仿真时,卡死在擦除函数,同时弹出“Cannot access target.shutting down debug sessi
- 源领域和目标领域过程相似性分析
- html整体页面灰色,让网页整体变灰的方法
- 第10章 模糊查询和聚合函数
- javascript 取整,取余数
- Julia 在VScode下的操作方式,B站教程Julia中文社区2020夏季会议