本文实例为大家分享了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('文件夹','复制后文件夹')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.ic2.cn。