python文件和文件夹复制函数
本文实例为大家分享了python文件和文件夹复制函数,供大家参考,具体内容如下
文件复制函数
代码和注释如下:
#文件复制函数 defcopy_file(file1,file2): ''' 将文件一复制到文件二 :paramfile1: :paramfile2: :return: ''' #首先打开源文件file1和目标文件file2 f1=open(file1,'r') f2=open(file2,'w') #循环读取写入,实现文件的复制 content=f1.readline() whilelen(content)>0: f2.write(content) content=f1.readline() f1.close() f2.close() #代码测试,代码调用 copy_file('./a.txt','./b.txt')#使用相对路径
文件夹复制函数
代码和注释如下:
#目录(文件夹)复制函数 ''' 首先需要引入os模块 ''' importos defcopy_mulu(dir1,dir2): ''' 复制文件夹 :paramdir1: :paramdir2: :return: ''' #获取被复制文件夹中的所有文件信息 dlist=os.listdir(dir1) #创建目标文件夹(即为被复制之后的文件夹,文件夹不能自动生成所以要手动创建,文件可以自动生成) os.mkdir(dir2) #遍历出dir1中的所有文件并且复制 forfindlist: #为遍历出的文件添加目录路径(一个完整的文件=目录的路径+文件名) file1=os.path.join(dir1,f)#源文件 file2=os.path.join(dir2,f)#目标文件 #判断file1是不是文件 ifos.path.isfile(file1): #调用上面写好的文件复制函数进行文件复制 copy_file(file1,file2) #判断file1是不是文件夹 ifos.path.isdir(file1): #如果是文件夹则递归调用(自己调用自己,继续循环判断) copy_mulu(file1,file2) #代码测试,代码调用 copy_mulu('文件夹','复制后文件夹')
合并后的代码如下:
#-*-coding:utf-8-*- #@File:文件和文件夹复制函数.py #@Author:zh #@Date:2020/2/5 #@Software:PyCharm #文件复制函数 defcopy_file(file1,file2): ''' 将文件一复制到文件二 :paramfile1: :paramfile2: :return: ''' #首先打开源文件file1和目标文件file2 f1=open(file1,'r') f2=open(file2,'w') #循环读取写入,实现文件的复制 content=f1.readline() whilelen(content)>0: f2.write(content) content=f1.readline() f1.close() f2.close() #代码测试,代码调用 copy_file('./a.txt','./b.txt')#使用相对路径 #目录(文件夹)复制函数 ''' 首先需要引入os模块 ''' importos defcopy_mulu(dir1,dir2): ''' 复制文件夹 :paramdir1: :paramdir2: :return: ''' #获取被复制文件夹中的所有文件信息 dlist=os.listdir(dir1) #创建目标文件夹(即为被复制之后的文件夹,文件夹不能自动生成所以要手动创建,文件可以自动生成) os.mkdir(dir2) #遍历出dir1中的所有文件并且复制 forfindlist: #为遍历出的文件添加目录路径(一个完整的文件=目录的路径+文件名) file1=os.path.join(dir1,f)#源文件 file2=os.path.join(dir2,f)#目标文件 #判断file1是不是文件 ifos.path.isfile(file1): #调用上面写好的文件复制函数进行文件复制 copy_file(file1,file2) #判断file1是不是文件夹 ifos.path.isdir(file1): #如果是文件夹则递归调用(自己调用自己,继续循环判断) copy_mulu(file1,file2) #代码测试,代码调用 copy_mulu('文件夹','复制后文件夹')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。