Python使用shutil模块实现文件拷贝


Posted in Python onJuly 31, 2020

主要作用与拷贝文件用的。

1.shutil.copyfileobj(文件1,文件2):将文件1的数据覆盖copy给文件2。

import shutil
f1 = open("1.txt",encoding="utf-8")
f2 = open("2.txt","w",encoding="utf-8")
shutil.copyfileobj(f1,f2)

2.shutil.copyfile(文件1,文件2):不用打开文件,直接用文件名进行覆盖copy。

import shutil

shutil.copyfile("1.txt","3.txt")

3.shutil.copymode(文件1,文件2):之拷贝权限,内容组,用户,均不变

def copymode(src,dst):
  """copy mode bits from src to dst"""
  if hasattr(os,'chmod'):
    st = os.stat(stc)
    mode = stat.S_IMODE(st.st_mode)
    os.chmod(dst,mode)

4.shutil.copystat(文件1,文件):只拷贝了权限。

def copystat(src,dst):
  """将所有的状态信息(模式位、时间、时间、标志)从src复制到dst"""
  st = os.stat(src)
  mode = stat.S_IMODE(st.st_mode)
  if hasattr(os, 'utime'):
    os.utime(dst,(st.st_atime,st.st_mtime))
  if hasattr(os, 'chmod')
    os.chmod(dst,mode)
  if hasattr(os, 'chflags') and hasattr(st,'st_flags'):
    try:
      os.chflags(dst, st.st_flags)
    except OSError,why:
      for err in 'EOPNOTSUPP', 'ENOTSUP':
        if hasattr(errno,err) and why.errno == getattr(errno, err):
          break
        else:
          raise

5.shutil.copy(文件1,文件2):拷贝文件和权限都进行copy。

def copy(src,dst):
  """copy data and mode bits ("cp src dst")
  The destination may be a directory.
  """
  if os.path.isdir(dst):
    dst = os.path.join(dst,os.path.basename(src))
    copyfile(src,dst)
    copymode(src,dst)

6.shutil.copy2(文件1,文件2):拷贝了文件和状态信息。

7.shutil.copytree(源目录,目标目录):可以递归copy多个目录到指定目录下。

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

例如:copytree(source, destination, ignore=ignore_patterns('*.pyc', 'tmp*'))

8.shutil.rmtree(目标目录):可以递归删除目录下的目录及文件。

9.shutil.move(源文件,指定路径):递归移动一个文件。

10.shutil.make_archive():可以压缩,打包文件。

import shutil

shutil.make_archive("shutil_archive_test","zip","D:\新建文件夹 (2)")

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

创建压缩包并返回文件路径,例如: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 shutil
ret = shutil.make_archive("wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')
 
 
#将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录
import shutil
ret = shutil.make_archive("/Users/wupeiqi/wwwwwwwwww", 'gztar', root_dir='/Users/wupeiqi/Downloads/test')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中if __name__ == "__main__"详细解释
Oct 21 Python
linux 下实现python多版本安装实践
Nov 18 Python
Python中的异常处理学习笔记
Jan 28 Python
Python部署web开发程序的几种方法
May 05 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
python实现控制台打印的方法
Jan 12 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
Sep 05 Python
Python常用数据类型之间的转换总结
Sep 06 Python
python解析命令行参数的三种方法详解
Nov 29 Python
python:解析requests返回的response(json格式)说明
Apr 30 Python
Python基于pyjnius库实现访问java类
Jul 31 #Python
Python如何将字符串转换为日期
Jul 31 #Python
Python在字符串中处理html和xml的方法
Jul 31 #Python
python中selenium库的基本使用详解
Jul 31 #Python
Python过滤序列元素的方法
Jul 31 #Python
python中的django是做什么的
Jul 31 #Python
如何基于python把文字图片写入word文档
Jul 31 #Python
You might like
Protoss兵种介绍
2020/03/14 星际争霸
CI框架安全类Security.php源码分析
2014/11/04 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
2017/02/23 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
Python的pygame安装教程详解
2020/02/10 Python
python为什么要安装到c盘
2020/07/20 Python
python实现代码审查自动回复消息
2021/02/01 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
分公司经理岗位职责
2013/11/11 职场文书
电子商务个人自荐信
2013/12/12 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
罚站检讨书
2015/01/29 职场文书
小学生交通安全寄语
2015/02/27 职场文书
生死抉择观后感
2015/06/09 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python