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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。