三十四、python中shutil模块的介绍
'''
A.shutil:高级的文件 文件夹 压缩包 处理模块
''' import shutil '''
1.copyfileobj(a1,a2,lenth):将文件内容拷贝到另一个文件中
''' shutil.copyfileobj(open('old.xml','r'),open('new.xml','w'),1) '''
2.copyfile(a1,a2):拷贝文件
'''
shutil.copyfile('new.xml','new2.xml') '''
3.copymode(a1,a2):拷贝文件,仅拷贝权限,内容,组,用户不变
'''
shutil.copymode('new.xml','new3.xml') '''
4.copystat(a1,a2):拷贝状态信息
'''
shutil.copystat('new.xml','new3.xml') '''
5.copy(a1,a2):拷贝文件内容和权限
'''
shutil.copy('new.xml','new4.xml') '''
6.copy2(a1,a2):拷贝文件内容和状态
'''
shutil.copy2('new.xml','new5.xml') '''
*7.copytree(a,b,symlinks=False, ignore=None):递归去拷贝文件夹,abs是文件夹,symlinks=False时为拷贝快捷方式,symlinks=True时,拷贝的是原文件夹
ignore=shutil.ignore_patterns('*.pyc','tmp'):忽略拷贝以'*.pyc','tmp'结尾和开头的文件
''' #shutil.copytree('a','b',ignore=shutil.ignore_patterns('*.pyc','tmp')) '''
8.rmtree(path):递归的去删除文件夹
'''
#shutil.rmtree('c') '''
9.move(a,b):递归去移动文件,类似于mv命令,其实就是重命名
'''
#shutil.move('a','c') '''
B.make_archive:创建压缩文件
xx.make_archive(base_name, format, ...)
创建压缩包并返回文件路径,例如:zip、tar
创建压缩包并返回文件路径,例如:zip、tar
base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
如:www = > 保存至当前路径
format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
root_dir: 要压缩的文件夹路径(默认当前目录)
owner: 用户,默认当前用户
group: 组,默认当前组
logger: 用于记录日志,通常是logging.Logger对象
''' # 将 D:\1122 下的文件打包放置当前程序目录
ret = shutil.make_archive("xxx",'gztar',root_dir='D:\\1122') # 将 D:\1122下的文件打包放置 D:\1122目录
ret = shutil.make_archive("D:\\1122\\xxx",'gztar',root_dir='D:\\1122') '''
C.zipfile解压缩文件
'''
import zipfile
# z=zipfile.ZipFile('xx.zip','w')
# z.write('ini')
# z.write('new2.xml') # z.close()
#解压
z=zipfile.ZipFile('xx.zip','r')
z.extractall() print(z.namelist()) #压缩包中的文件列表
#解压
z.extract('ini')
z.close()
'''
D.tarfile:解压缩
'''
import tarfile
#压缩
tar=tarfile.open('xxx.tar','w')
tar.add('ini',arcname='init')
tar.add('new2.xml',arcname='new22.xml')
tar.close() #解压
tar=tarfile.open('xxx.tar','r')
#tar.extractall()
print(tar.getmembers())
tar.extract('init')
tar.close()
三十四、python中shutil模块的介绍的更多相关文章
- Python核心技术与实战——十四|Python中装饰器的使用
我在以前的帖子里讲了装饰器的用法,这里我们来具体讲一讲Python中的装饰器,这里,我们从前面讲的函数,闭包为切入点,引出装饰器的概念.表达和基本使用方法.其次,我们结合一些实际工程中的例子,以便能再 ...
- 学以致用三十二-----python中函数的括号使用
一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大看困惑. 今天来总结下. class aaa(): y = 'you' def __init__( ...
- python中shutil模块
shutil是对OS中文件操作的补充:移动.复制.打包.压缩.解压. 1.copy文件内容到另一个文件,可以copy指定大小的内容. shutil.copyfileobj(fsrc, fdst[, l ...
- 网站开发进阶(三十四)编码中的setCharacterEncoding 理解
编码中的setCharacterEncoding 理解 1.pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码. 2.contentType ...
- python中shutil模块的使用
可以操作权限的处理文件模块:shutil # 基于路径的文件复制 import shutil shutil.copyfile("oldfile_path","newfil ...
- 三十四 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解
信号一般使用信号分发器dispatcher.connect(),来设置信号,和信号触发函数,当捕获到信号时执行一个函数 dispatcher.connect()信号分发器,第一个参数信号触发函数,第二 ...
- python学习 (三十四) Python文件操作
1 写文件 my_list = ["] my_file = open("myfile.txt", "w") for item in my_list: ...
- Python中re模块详细介绍
正则的介绍及应用实例详解 """ 1.什么是正则 正则就是用一系列具有特殊含义的字符组成一套规则,该规则用来描述具有某一特征的字符串, 正则就是用来去一个大的字符串中匹配 ...
- Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式
Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Py ...
随机推荐
- [Luogu 5465] [LOJ 6435] [PKUSC2018]星际穿越(倍增)
[Luogu 5465] [LOJ 6435] [PKUSC2018]星际穿越(倍增) 题面 n个点的图,点i和[l[i],i)的所有点连双向边.每次询问(l,r,x)表示x到[l,r]的所有点的最短 ...
- 使用JavaScript获取url中的参数值
今天需要用到从url中获取参数,在网上找了几个JavaScript方法,mark下来. 一些可以使用的去获取url中指定的部分:如http://www.mystuff.com.cn/aboutus ...
- tensorflow学习笔记七----------卷积神经网络
卷积神经网络比神经网络稍微复杂一些,因为其多了一个卷积层(convolutional layer)和池化层(pooling layer). 使用mnist数据集,n个数据,每个数据的像素为28*28* ...
- SCAU_WeiShenWahle 之省赛任务
每一项按顺序理解之后裸敲,每个代码最多15分钟,用模板题来测,超过15分钟算未理解 线段树 平衡树( Treap , sbt , spt ) #include <iostream> #in ...
- neo4j 初探
neo4j 初探 参考 转载:http://shomy.top/2018/06/08/neo4j-start/ 近期需要处理图数据,考察后打算使用neo4j, 相比其他一些图数据库,neo4j开源,跨 ...
- luogu P1224 [NOI2013]向量内积
传送门 挺有意思的一道题 暴力60就是枚举每个向量暴力check,随机选向量就能多骗一些分 然后两个向量内积要模\(k\)为\(0\),那么如果全部不为\(0\)就不合法.先考虑\(k=2\),对于向 ...
- 14-jquery元素节点操作
**创建节点** ```var Div = $('<div>');var Div2 = $('<div>这是一个div元素</div>');``` **插入节点** ...
- pL/Sql插入语句时报错,对表空间没有权限 对表空间 'USERS' 无权限
进入dba为其授予权限:sqlplus sys/admin as sysdba; 为用户授予权限即可 grant unlimited tablespace to username;
- webpack配置--传统多页面项目
//依赖包--package.json文件 { "name": "webemeet", "version": "1.0.0&quo ...
- Mysql逻辑架构介绍
总体概览: 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用.主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离 ...