首页 > 编程语言 > 详细

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

时间:2019-08-17 18:40:35      阅读:110      评论:0      收藏:0      [点我收藏+]

shutil模块

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

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

>>> hutil.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对象
import shutil
a = shutil.make_archive(r.\test2,zip,r.\test1)

 

关于zipfile和tarfile两个模块

import zipfile,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

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

原文:https://www.cnblogs.com/lalaxing/p/11369643.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!