python-shutil学习

shutil:高级的 文件、文件夹、压缩包 处理模块

1. shutil.copyfileobj(fsrc, fdst[, length])(copyfileobj方法只会拷贝文件内容)
将文件内容拷贝到另一个文件中

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

2. shutil.copyfile(src, dst)  (只拷贝文件内容)
拷贝文件

shutil.copyfile('f1.log', 'f2.log')

3. shutil.copy(src, dst)      (拷贝文件和权限)

shutil.copy('f1.log', 'f2.log')

4. shutil.copy2(src, dst)     (拷贝文件和状态信息)

shutil.copy2('f1.log', 'f2.log'

5. shutil.copymode(src, dst)  (前提是dst文件存在,不然报错    仅拷贝权限。内容、组、用户均不变)

shutil.copymode('f1.log', 'f2.log')

6. shutil.copystat(src, dst)
仅拷贝状态的信息,即文件属性,包括:mode bits, atime, mtime, flags

shutil.copystat('f1.log', 'f2.log')

7. shutil.ignore_patterns(*patterns)  (忽略哪个文件,有选择性的拷贝)

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

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

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

shutil.rmtree('folder1')

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

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

11. shutil.make_archive(base_name, format,...)

创建压缩包并返回文件路径,例如:zip、tar

创建压缩包并返回文件路径,例如:zip、tar

  • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径, 如:www                        =>保存至当前路径 如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
  • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
  • root_dir: 要压缩的文件夹路径(默认当前目录)
  • owner: 用户,默认当前用户
  • group: 组,默认当前组
  • logger: 用于记录日志,通常是logging.Logger对象

    #将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录

    import shutilret = shutil.make_archive("wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')#将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录import shutilret = shutil.make_archive("/Users/wupeiqi/wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')

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

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()
z.close()

import tarfile

# 压缩
tar = tarfile.open('your.tar','w')
tar.add('/Users/wupeiqi/PycharmProjects/bbs2.log', arcname='bbs2.log')
tar.add('/Users/wupeiqi/PycharmProjects/cmdb.log', arcname='cmdb.log')
tar.close()# 解压
tar = tarfile.open('your.tar','r')
tar.extractall()  # 可设置解压地址
tar.close()

备注:zipfile压缩不会保留文件的状态信息,而tarfile会保留文件的状态信息

posted @ 2019-04-03 15:59 巡山小妖N 阅读(...) 评论(...) 编辑 收藏

python-shutil学习相关推荐

  1. Python深度学习之搭建小型卷积神经网络(Kaggle网站Dogs-vs-Cats数据集)

    完全来源与<Python深度学习>中的例子,仅供学习只用. Cats vs. Dogs(猫狗大战)是Kaggle大数据竞赛的数据集,数据集由训练数据和测试数据组成,训练数据包含猫和狗各12 ...

  2. Python深度学习(4):猫狗分类

    这个项目使用卷积神经网络,<Python深度学习>中使用了两个方法实现.一个是自己搭建卷积网络,另一个是直接使用VGG16.其中直接使用VGG16又可以分为抽取特征和微调模型两种方法. 1 ...

  3. Python深度学习篇

    Python深度学习篇一<什么是深度学习> Excerpt 在过去的几年里,人工智能(AI)一直是媒体大肆炒作的热点话题.机器学习.深度学习 和人工智能都出现在不计其数的文章中,而这些文章 ...

  4. Python深度学习篇五《深度学习用于计算机视觉》

    前言 前期回顾:Python深度学习篇四<机器学习基础> 上面这篇里面写了关于向量数据最常见的机器学习任务. 好,接下来切入正题. 本章包括以下内容: 理解卷积神经网络(convnet) ...

  5. Python 迁移学习实用指南:1~5

    原文:Hands-On Transfer Learning with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MT ...

  6. 粗读《Python 深度学习》(4)

    粗读<Python 深度学习>(4) 第五章 深度学习用于计算机视觉 5.1 卷积神经网络简介 5.1.1 卷积运算 5.1.2 最大池化运算 5.2 在小型数据集上从头开始训练一个卷积神 ...

  7. python shutil module

    关注微信公众号(瓠悠笑软件部落),一起学习,一起摸鱼 python shutil module shutil module 是 shell utilities 的简写,在Python 程序里面能够让你 ...

  8. Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类)

    Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类) 1.卷积神经网络 1.1卷积神经网络简介 1.2卷积运算 1.3 深度学习与小数据问题的相关性 2.下载数据 2.1下载原始数据 ...

  9. python速成要多久2019-8-28_2019最全Python入门学习路线,不是我吹,绝对是最全

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  10. Python深度学习:基于TensorFlow

    作者:吴茂贵,王冬,李涛,杨本法 出版社:机械工业出版社 品牌:机工出版 出版时间:2018-10-01 Python深度学习:基于TensorFlow

最新文章

  1. python image stiching_Python自然语言处理,词云图生成
  2. Matlab 图像处理相关函数命令大全
  3. hibernate详解
  4. 为什么大公司一定要使用微服务?
  5. python 代码转程序_python将代码转换成网页
  6. Faster-RCNN学习
  7. 笔记本电脑排名2015_2015-2026全球及中国AC-DC电源适配器市场发展现状调研及未来前景行业展望...
  8. c语言next的用法,C语言strchr使用之Next查找和截断想要的字符串
  9. C++基础12-类和对象之操作符重载-string练习
  10. 第31课 3721数-2021.10.30 《小学生C++趣味编程》
  11. jQuery时间轴插件:jQuery Timelinr
  12. 手把手带你学习如何在小程序、网页前端部署AI模型
  13. Sublime Text 3的中文显示乱码问题
  14. bpa软件视频教程,BPA是什么软件
  15. vc excel编程
  16. Express(一) ——简单入门
  17. 计算机组成原理实验写出下列微指令编码,计算机组成原理实验三.doc
  18. 考华为云认证的必要条件、注意事项
  19. jupyter notebook内核挂了
  20. 洛谷P1827[USACO3.4] 美国血统 American Heritage

热门文章

  1. 影驰名人堂送的机器人_玩转GTX 1080Ti名人堂显示屏 影驰全新魔盘使用教程
  2. git丢弃本地修改的所有文件(新增、删除、修改)
  3. python做游戏代码_利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单!...
  4. ubuntu16.04无法连接WiFi搜索不到网络网卡驱动
  5. eclipse android开发环境搭建_聊聊Spring boot2.X开发环境搭建和基本开发
  6. geth JavaScript Console
  7. vue中img标签onerror事件
  8. cognos 样例 oracle,Cognos10安装和sample配置(ORACLE学样例)
  9. Chromebook开发者模式Linux,Chromebook 的开发者模式和开发者版本有什么区别?
  10. Apache Flink 零基础入门(二十)Flink部署与作业的提交