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 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
python实现无证书加密解密实例
Oct 27 Python
Python手机号码归属地查询代码
May 04 Python
Python爬取三国演义的实现方法
Sep 12 Python
python编写朴素贝叶斯用于文本分类
Dec 21 Python
python实现简易动态时钟
Nov 19 Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
详解Django定时任务模块设计与实践
Jul 24 Python
python3爬取torrent种子链接实例
Jan 16 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
Python类和实例的属性机制原理详解
Mar 21 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
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
javascript &&和||运算法的另类使用技巧
2009/11/28 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
Node.js 实现抢票小工具 & 短信通知提醒功能
2019/10/22 Javascript
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
Python get获取页面cookie代码实例
2018/09/12 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
中学老师的自我评价
2013/11/07 职场文书
企划专员岗位职责
2013/12/09 职场文书
幼儿园实习自我鉴定
2013/12/15 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
健康教育评估方案
2014/05/25 职场文书
入党积极分子个人总结
2015/03/02 职场文书
幼儿园中班教学反思
2016/03/03 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server