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生成随机数的方法
Jan 14 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
对python抓取需要登录网站数据的方法详解
May 21 Python
python去除拼音声调字母,替换为字母的方法
Nov 28 Python
DRF跨域后端解决之django-cors-headers的使用
Jan 27 Python
python pandas cumsum求累计次数的用法
Jul 29 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
Apr 01 Python
python实现俄罗斯方块小游戏
Apr 24 Python
python调用私有属性的方法总结
Jul 24 Python
Python趣味实战之手把手教你实现举牌小人生成器
Jun 07 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 pki加密技术(openssl)详解
2013/07/01 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
11种ASP连接数据库的方法
2015/09/18 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
javascript实现二叉树遍历的代码
2017/06/08 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
2018/04/27 jQuery
vue插件实现v-model功能
2018/09/10 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
python模拟实现分发扑克牌
2020/04/22 Python
python RSA加密的示例
2020/12/09 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
教师岗位职责
2013/11/17 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
社区交通安全实施方案
2014/03/22 职场文书
法制报告会主持词
2014/04/02 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
2014年检验员工作总结
2014/11/19 职场文书
店铺转让协议书
2014/12/02 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
Python find()、rfind()方法及作用
2022/12/24 Python