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使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
浅谈django三种缓存模式的使用及注意点
Sep 30 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
python实现旋转和水平翻转的方法
Oct 25 Python
如何在Python中实现goto语句的方法
May 18 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
python如何通过闭包实现计算器的功能
Feb 22 Python
python能在浏览器能运行吗
Jun 17 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
Django操作cookie的实现
May 26 Python
OpenCV 图像梯度的实现方法
Jul 25 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/08/05 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
JS验证字符串功能
2017/02/22 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
python基于queue和threading实现多线程下载实例
2014/10/08 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
使用Python自动生成HTML的方法示例
2019/08/06 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
python的数学算法函数及公式用法
2020/11/18 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
实例讲解利用HTML5 Canvas API操作图形旋转的方法
2016/03/22 HTML / CSS
优秀毕业大学生推荐信
2013/11/13 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
考博导师推荐信范文
2015/03/27 职场文书
故意杀人案辩护词
2015/05/21 职场文书
民主生活会意见
2015/06/05 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技