python文件和文件夹复制函数


Posted in Python onFebruary 07, 2020

本文实例为大家分享了python文件和文件夹复制函数,供大家参考,具体内容如下

文件复制函数

代码和注释如下:

# 文件复制函数
def copy_file(file1,file2):
  '''
  将文件一复制到文件二
  :param file1:
  :param file2:
  :return:
  '''
  # 首先打开源文件file1和目标文件file2
  f1 = open(file1,'r')
  f2 = open(file2,'w')
  # 循环读取写入,实现文件的复制
  content = f1.readline()
  while len(content)>0:
    f2.write(content)
    content = f1.readline()
  f1.close()
  f2.close()
# 代码测试,代码调用
copy_file('./a.txt','./b.txt')    # 使用相对路径

文件夹复制函数

代码和注释如下:

# 目录(文件夹)复制函数
'''
首先需要引入 os 模块
'''
import os
def copy_mulu(dir1,dir2):
  '''
  复制文件夹
  :param dir1:
  :param dir2:
  :return:
  '''
  # 获取被复制文件夹中的所有文件信息
  dlist = os.listdir(dir1)
  # 创建目标文件夹(即为被复制之后的文件夹,文件夹不能自动生成所以要手动创建,文件可以自动生成)
  os.mkdir(dir2)
  # 遍历出dir1中的所有文件并且复制
  for f in dlist:
    # 为遍历出的文件添加目录路径(一个完整的文件=目录的路径+文件名)
    file1 = os.path.join(dir1,f)   # 源文件
    file2 = os.path.join(dir2, f)   # 目标文件
    # 判断file1是不是文件
    if os.path.isfile(file1):
      # 调用上面写好的文件复制函数进行文件复制
      copy_file(file1,file2)
    # 判断file1是不是文件夹
    if os.path.isdir(file1):
      # 如果是文件夹则递归调用(自己调用自己,继续循环判断)
      copy_mulu(file1,file2)

# 代码测试,代码调用
copy_mulu('文件夹','复制后文件夹')

合并后的代码如下:

# -*- coding: utf-8 -*-
# @File  : 文件和文件夹复制函数.py
# @Author : zh
# @Date  : 2020/2/5
# @Software: PyCharm
# 文件复制函数
def copy_file(file1,file2):
  '''
  将文件一复制到文件二
  :param file1:
  :param file2:
  :return:
  '''
  # 首先打开源文件file1和目标文件file2
  f1 = open(file1,'r')
  f2 = open(file2,'w')
  # 循环读取写入,实现文件的复制
  content = f1.readline()
  while len(content)>0:
    f2.write(content)
    content = f1.readline()
  f1.close()
  f2.close()
# 代码测试,代码调用
copy_file('./a.txt','./b.txt')    # 使用相对路径

# 目录(文件夹)复制函数
'''
首先需要引入 os 模块
'''
import os
def copy_mulu(dir1,dir2):
  '''
  复制文件夹
  :param dir1:
  :param dir2:
  :return:
  '''
  # 获取被复制文件夹中的所有文件信息
  dlist = os.listdir(dir1)
  # 创建目标文件夹(即为被复制之后的文件夹,文件夹不能自动生成所以要手动创建,文件可以自动生成)
  os.mkdir(dir2)
  # 遍历出dir1中的所有文件并且复制
  for f in dlist:
    # 为遍历出的文件添加目录路径(一个完整的文件=目录的路径+文件名)
    file1 = os.path.join(dir1,f)   # 源文件
    file2 = os.path.join(dir2, f)   # 目标文件
    # 判断file1是不是文件
    if os.path.isfile(file1):
      # 调用上面写好的文件复制函数进行文件复制
      copy_file(file1,file2)
    # 判断file1是不是文件夹
    if os.path.isdir(file1):
      # 如果是文件夹则递归调用(自己调用自己,继续循环判断)
      copy_mulu(file1,file2)

# 代码测试,代码调用
copy_mulu('文件夹','复制后文件夹')

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

Python 相关文章推荐
python基础教程之元组操作使用详解
Mar 25 Python
Python的批量远程管理和部署工具Fabric用法实例
Jan 23 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
May 23 Python
django admin 后台实现三级联动的示例代码
Jun 22 Python
Python Django简单实现session登录注销过程详解
Aug 06 Python
Python Web静态服务器非堵塞模式实现方法示例
Nov 21 Python
python学生信息管理系统实现代码
Dec 17 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
Python终端输出彩色字符方法详解
Feb 11 Python
python反爬虫方法的优缺点分析
Nov 25 Python
PyQt5通过信号实现MVC的示例
Feb 06 Python
tf.concat中axis的含义与使用详解
Feb 07 #Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 #Python
Python for循环通过序列索引迭代过程解析
Feb 07 #Python
python中with用法讲解
Feb 07 #Python
如何基于Python实现数字类型转换
Feb 07 #Python
Python while循环使用else语句代码实例
Feb 07 #Python
Python matplotlib画曲线例题解析
Feb 07 #Python
You might like
php发送与接收流文件的方法
2015/02/11 PHP
php设计模式之单例模式代码
2016/06/11 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
jquery 表单进行客户端验证demo
2009/08/24 Javascript
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
2017/08/01 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
vue穿梭框实现上下移动
2021/01/29 Vue.js
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
打开电脑上的QQ的python代码
2013/02/10 Python
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
基于python生成器封装的协程类
2019/03/20 Python
Python对wav文件的重采样实例
2020/02/25 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
解除劳动合同协议书
2014/04/14 职场文书
导师评语大全
2014/04/26 职场文书
文明生主要事迹
2014/05/25 职场文书
JS代码编译器Monaco使用方法
2021/06/11 Javascript
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
VUE递归树形实现多级列表
2022/07/15 Vue.js