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

#文件复制

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()函数用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2020-07-10

python编写代码实现文件的拷贝功能_python利用os模块编写文件复制功能——copy()函数用法...相关推荐

  1. Python语言编程学习:文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码

    Python语言编程学习:文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码 目录 文件路径变量修改,利用os模块固定文件父路径,变换文件子路径实现代码

  2. python excel文件转换成字符串_python利用pandas将excel文件转换为txt文件的方法

    python将数据换为txt的方法有很多,可以用xlrd库实现.本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件. 直接上代码: ''' function:将 ...

  3. 利用os模块生成 文件夹和文件

    需求: 使用os模块创建如下目录结构 glance/├── __init__.py├── api│ ├── __init__.py│ ├── policy.py│ └── versions.py├── ...

  4. python编写代码实现文件的拷贝功能_python从一个文件夹自动拷贝文件到目标文件夹的代码...

    这里为大家提供一个python操作文件的例子,实现功能:从一个文件夹自动拷贝文件到目标文件夹. 供python爱好者学习参考. 代码如下: # Filename: CopyPictures.py im ...

  5. python实现文件上传功能_python实现上传下载文件功能

    最近刚学python,遇到上传下载文件功能需求,记录下! django web项目,前端上传控件用的是uploadify. 文件上传 - 后台view 的 Python代码如下: @csrf_exem ...

  6. 看过来,如何用Python 一行代码能实现丧心病狂的功能

    这篇文章主要介绍了Python 一行代码能实现丧心病狂的功能,需要的朋友可以参考下 手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建.基础工作之一,就是要把这些图片数据 ...

  7. 一.编写代码完成复制粘贴的功能

    一.编写代码完成复制粘贴的功能 import java.io.*;public class Demo05 {public static void main(String[] args) throws ...

  8. python安装os模块_python的os模块(ipython,文件,目录,权限,管理)

    什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件.目录打交道,这时就离不了o ...

  9. Python OS模块和文件处理

    Python OS模块和文件处理 文件处理 1. 打开和关闭文件 2. 读&写 3. 文件定位 OS模块 1. OS模块简介: 2. OS模块常用函数 3. OS模块常用方法实战 4. 例题练 ...

最新文章

  1. 抬头看路,埋头干活(一)
  2. 网络优化404页面没用吗?对于SEO会造成什么影响?
  3. LeetCode 495. Teemo Attacking
  4. 2010英语WCDMA,希望你也和一样!
  5. 关于正则表达式,我所知道的都在这里
  6. Xcode6中如何对scrollview进行自动布局(autolayout)
  7. Linux centos7 安装 MySQL5.7.x
  8. 小白初涉,先试试水。涉及Python,C语言基础,机器学习等
  9. Copy Clone
  10. 华为nova 5i Pro发布:麒麟810+4800万像素AI四摄
  11. javaScript常见的五种数组去重(转载)
  12. 【光学】基于matlab圆孔菲涅尔衍射【含Matlab源码 522期】
  13. IEEE 1588-PTP简介
  14. 2014年全国最新企业名录免费采集下载
  15. python经纬度转换xy坐标公式 pyqt_EXCEL公式进行经纬度与XY坐标的相互转换
  16. TCP协议:RST标志位
  17. RGB与YCbCr颜色空间的转换
  18. 以太坊君士坦丁堡:是利好?-千氪
  19. 如何配置Windows平台轻量级vscode c++开发环境
  20. JAVA面试这一篇就够了

热门文章

  1. 玩转 SpringBoot 2.x 之使用 SpringDataJpa 篇
  2. mysql 9 5.5.29_在CentOS 6.3中安装与配置Mysql-5.5.29的方法
  3. java怎么使两个界面联系_怎么样用java编写界面实现两个数的加法运算
  4. html 事件重叠,两个div叠加触发事件发生闪烁问题的解决方法
  5. Cacti监控mysql数据库server实现过程
  6. C#异常Retry通用类
  7. java线程的小问题与回答
  8. [BZOJ] 1614: [Usaco2007 Jan]Telephone Lines架设电话线
  9. 转:SQL:外连接on条件与where条件的区别
  10. ASP.NET 4.0尚未在Web服务器上注册。您需要手动将Web服务器配置为使用ASP.NET,这样您的网站才能正确运行。...