python利用os模块编写文件复制功能——copy()函数用法


Posted in Python onJuly 13, 2020

我就废话不多说了,大家还是直接看代码吧~

#文件复制
import os
src_path=r'E:\Pycharm\python100题\代码'
target_path=r'E:\Pycharm\python100题\123'

#封装成函数
def copy_function(src,target):
 if os.path.isdir(src) and os.path.isdir(target):
  filelist=os.listdir(src)
  for file in filelist:
    path=os.path.join(src,file)
    if os.path.isdir(path):
     copy_function(path,target)
    with open(path,'rb') as rstream:
     container=rstream.read()
     path1=os.path.join(target,file)
     with open(path1,'wb') as wstream:
      wstream.write(container)
  else:
   print('复制完毕!')
copy_function(src_path,target_path)
#改进后的文件复制,可以递归复制文件,之前的文件复制不能复制文件夹
import os
src_path=r'E:\Pycharm\python100题\代码'
target_path=r'E:\Pycharm\python100题\123'

def copy_function(src,target):
 if os.path.isdir(src) and os.path.isdir(target):
  filelist=os.listdir(src)
  for file in filelist:
    path=os.path.join(src,file)
    if os.path.isdir(path):   #判断是否为文件夹
     target1=os.path.join(target,file)
     os.mkdir(target1) #在目标文件下在创建一个文件夹

     copy_function(path,target1)
    else:
     with open(path, 'rb') as rstream:
      container = rstream.read()
      path1 = os.path.join(target, file)
      with open(path1, 'wb') as wstream:
       wstream.write(container)
  else:
   print('复制完毕!')
copy_function(src_path, target_path)

补充知识:python复制文件夹(包含os库多种函数的)

看代码吧~

import os#调出os库
#文件的复制
def mycopy(file1,file2):#定义一个mycopy函数用于复制文件

	f1=open(file1,"rb")#以读取模式打开file1
	f2=open(file2,"wb")#以清空写模式打开file2

	content = f1.readline()#将第一行数据赋给content
	while len(content)>0:#如果读取到的数据长度不为0则循环执行
		f2.write(content)#在file2里写下content
		content=f1.readline()#再读一行赋给content

	f1.close()#关闭file1
	f2.close()

#自定义目录复制函数
def copydd(dir1,dir2):#定义复制文件夹函数coppydd
	#获取被复制目录中的所有文件信息
	dlist = os.listdir(dir1)#以列表模式赋给dlist
	#创建新目录
	os.mkdir(dir2)#创建新文件夹dir2
	#遍历所有文件并执行文件复制
	for f in dlist:#让f在dlist中遍历
		#为遍历的文件添加目录路径
		file1 = os.path.join(dir1,f)#将f遍历出的文件名给file1(dir1+f即路径+文件名)
		file2 = os.path.join(dir2,f)#同样也给file2
		#判断是否是文件
		if os.path.isfile(file1):#判断是否为文件的方式为os库中的函数 os.path.isfile(文件名)
			mycopy(file1,file2)#调用自定义的mycopy函数复制文件	
		if os.path.isdir(file1):#如果是文件夹的话 那就调用自身(自身就是复制文件夹嘛)e而处理的不是dir1,dir2,是file1,file2,因为此时文件夹同文件一起被f遍历,此处判断的就是f遍历出的是文件还是文件夹
			coppydd(file1,file2)	#调用自身 递归思想
	
#测试
copydd("./aa","./bb")#当前文件夹中的aa文件夹复制到bb文件夹 没有会自动创建

以上这篇python利用os模块编写文件复制功能——copy()函数用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的数据对象持久化存储模块pickle的使用示例
Mar 03 Python
Python学习思维导图(必看篇)
Jun 26 Python
Python计算斗牛游戏概率算法实例分析
Sep 26 Python
numpy排序与集合运算用法示例
Dec 15 Python
Python实现邮件的批量发送的示例代码
Jan 23 Python
单利模式及python实现方式详解
Mar 20 Python
django 发送邮件和缓存的实现代码
Jul 18 Python
详解Django 时间与时区设置问题
Jul 23 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
Aug 23 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 Python
python 生成正态分布数据,并绘图和解析
Dec 21 Python
python文件与路径操作神器 pathlib
Apr 01 Python
python 制作python包,封装成可用模块教程
Jul 13 #Python
通过Python实现Payload分离免杀过程详解
Jul 13 #Python
python上selenium的弹框操作实现
Jul 13 #Python
python如何导入依赖包
Jul 13 #Python
python入门:argparse浅析 nargs='+'作用
Jul 12 #Python
浅谈Python 命令行参数argparse写入图片路径操作
Jul 12 #Python
Python实现封装打包自己写的代码,被python import
Jul 12 #Python
You might like
用PHP函数解决SQL injection
2006/12/09 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
利用json获取字符出现次数的代码
2012/03/22 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
新手必须知的Node.js 4个JavaScript基本概念
2018/09/16 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
Python通过future处理并发问题
2017/10/17 Python
如何使用Python的Requests包实现模拟登陆
2018/04/27 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
创业计划书之养殖业
2019/10/11 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python