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的内存泄漏及gc模块的使用分析
Jul 16 Python
Python编程中的反模式实例分析
Dec 08 Python
探索Python3.4中新引入的asyncio模块
Apr 08 Python
Python实现统计代码行的方法分析
Jul 12 Python
用Pygal绘制直方图代码示例
Dec 07 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
python:pandas合并csv文件的方法(图书数据集成)
Apr 12 Python
python创造虚拟环境方法总结
Mar 04 Python
pandas 层次化索引的实现方法
Jul 06 Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 Python
如何用Python 加密文件
Sep 10 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
Apr 13 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
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
qq悬浮代码(兼容各个浏览器)
2014/01/29 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
TypeScript 中接口详解
2015/06/19 Javascript
jquery移动点击的项目到列表最顶端的方法
2015/06/24 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
2016/03/31 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
使用Python的内建模块collections的教程
2015/04/28 Python
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
Python基于PycURL实现POST的方法
2015/07/25 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
python unichr函数知识点总结
2020/12/16 Python
外企办公室竞聘演讲稿
2013/12/29 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
英语教育专业自荐信
2014/05/29 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers