shutil模块 python_python 基础(十八)--shutil模块

shutil模块

shutil.copyfileobj(src,dst):只拷贝文件内容,需要open文件;目标文件不存在时创建,存在时覆盖

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

shutil.copyfle(src.dst):直接拷贝文件内容

shutil.copy(src,dst):内容 和 权限

shtuil.copy2(src,dst):内容 和 状态信息(元数据)

shutil.copymode(src,dst):仅权限;dst必许存在

shutil.copystat(src,dst):仅状态;dst必许存在

shutil.ignore_patterns():globbing类型通配符

shutil.copytree(src,dst,symlink=false,ignore=none):Windows中不支持symblink

>>> shutil.copytree('Tools','f2',ignore=shutil.ignore_patterns('?j.txt'))

shutil.rmtree(path):递归删除文件,必许是文件夹

shutil.move(src,dst):移动到当前目录下相当于修改名字

shutil.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对

importshutil

a= shutil.make_archive(r'.\test2','zip',r'.\test1') #必须是目录不能是文件!windows下用/分隔符

关于zipfile和tarfile两个模块

importzipfile,tarfile#压缩

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

z.write('test1')

z.close()

t= tarfile.open('haha.zip','w')

t.add('test1','test1-1') #test1-1为压缩后的名字

t.close()#解压

z_decom = zipfile.ZipFile('lala.zip','r')

z_decom.extract('test1/') #需要指定目录,Windows中文件夹需要/表示

z_decom.close()

t_decom= tarfile.open('haha.zip','r')

t_decom.extractall()#extractall不需要指定mem,都可以指定解压至 路径

_decom.close()

压缩时不能压缩路径里面的每个文件

配合os.walk()提取,每个文件的路径可实现此需求

两个模块的详细用法https://www.cnblogs.com/ManyQian/p/9193199.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值