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求两个list的差集、交集与并集的方法
Nov 01 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
使用python加密自己的密码
Aug 04 Python
Python 数据处理库 pandas进阶教程
Apr 21 Python
PyQt5实现拖放功能
Apr 25 Python
python让列表倒序输出的实例
Jun 25 Python
ipython和python区别详解
Jun 26 Python
Python+Selenium使用Page Object实现页面自动化测试
Jul 14 Python
Django中多种重定向方法使用详解
Jul 17 Python
Python任务自动化工具tox使用教程
Mar 17 Python
Django中FilePathField字段的用法
May 21 Python
基于Python实现将列表数据生成折线图
Mar 23 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 数组和字符串互相转换实现方法
2013/03/26 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
2016/12/13 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
调试Python程序代码的几种方法总结
2015/04/28 Python
Python出现segfault错误解决方法
2016/04/16 Python
用Python实现数据的透视表的方法
2018/11/16 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
python 写一个水果忍者游戏
2021/01/13 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
什么是serialVersionUID
2016/03/04 面试题
Linux面试题LINUX系统类
2014/11/19 面试题
体育之星事迹材料
2014/05/11 职场文书
师德师风的心得体会
2014/09/02 职场文书
四则混合运算教学反思
2016/02/23 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
javaScript Array api梳理
2021/03/31 Javascript
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL