如何编写Python实现文件及文件夹的复制功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计950个文字,预计阅读时间需要4分钟。
Python 文件和文件夹复制函数示例
以下是一个简单的Python函数,用于复制文件和文件夹:
pythonimport shutilimport os
def copy_file_or_folder(src, dst): 复制文件或文件夹到指定路径。
:param src: 源文件或文件夹路径 :param dst: 目标文件或文件夹路径 if os.path.exists(src): if os.path.isdir(src): shutil.copytree(src, dst) else: shutil.copy2(src, dst) print(f已复制: {src} -> {dst}) else: print(f源文件或文件夹不存在: {src})
使用示例copy_file_or_folder('path/to/source', 'path/to/destination')
本文实例为大家分享了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('文件夹','复制后文件夹')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计950个文字,预计阅读时间需要4分钟。
Python 文件和文件夹复制函数示例
以下是一个简单的Python函数,用于复制文件和文件夹:
pythonimport shutilimport os
def copy_file_or_folder(src, dst): 复制文件或文件夹到指定路径。
:param src: 源文件或文件夹路径 :param dst: 目标文件或文件夹路径 if os.path.exists(src): if os.path.isdir(src): shutil.copytree(src, dst) else: shutil.copy2(src, dst) print(f已复制: {src} -> {dst}) else: print(f源文件或文件夹不存在: {src})
使用示例copy_file_or_folder('path/to/source', 'path/to/destination')
本文实例为大家分享了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('文件夹','复制后文件夹')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

