python文件函数_python文件和文件夹复制函数

本文实例为大家分享了python文件和文件夹复制函数,供大家参考,具体内容如下

文件复制函数

代码和注释如下:

# 文件复制函数

def copy_file(file1,file2):

'''

将文件一复制到文件二

:param file1:

:param file2:

:return:

'''

# 首先打开源文件file1和目标文件file2

f1 = open(file1,'r')

f2 = open(file2,'w')

# 循环读取写入,实现文件的复制

content = f1.readline()

while len(content)>0:

f2.write(content)

content = f1.readline()

f1.close()

f2.close()

# 代码测试,代码调用

copy_file('./a.txt','./b.txt') # 使用相对路径

文件夹复制函数

代码和注释如下:

# 目录(文件夹)复制函数

'''

首先需要引入 os 模块

'''

import os

def copy_mulu(dir1,dir2):

'''

复制文件夹

:param dir1:

:param dir2:

:return:

'''

# 获取被复制文件夹中的所有文件信息

dlist = os.listdir(dir1)

# 创建目标文件夹(即为被复制之后的文件夹,文件夹不能自动生成所以要手动创建,文件可以自动生成)

os.mkdir(dir2)

# 遍历出dir1中的所有文件并且复制

for f in dlist:

# 为遍历出的文件添加目录路径(一个完整的文件=目录的路径+文件名)

file1 = os.path.join(dir1,f) # 源文件

file2 = os.path.join(dir2, f) # 目标文件

# 判断file1是不是文件

if os.path.isfile(file1):

# 调用上面写好的文件复制函数进行文件复制

copy_file(file1,file2)

# 判断file1是不是文件夹

if os.path.isdir(file1):

# 如果是文件夹则递归调用(自己调用自己,继续循环判断)

copy_mulu(file1,file2)

# 代码测试,代码调用

copy_mulu('文件夹','复制后文件夹')

合并后的代码如下:

# -*- coding: utf-8 -*-

# @File : 文件和文件夹复制函数.py

# @Author : zh

# @Date : 2020/2/5

# @Software: PyCharm

# 文件复制函数

def copy_file(file1,file2):

'''

将文件一复制到文件二

:param file1:

:param file2:

:return:

'''

# 首先打开源文件file1和目标文件file2

f1 = open(file1,'r')

f2 = open(file2,'w')

# 循环读取写入,实现文件的复制

content = f1.readline()

while len(content)>0:

f2.write(content)

content = f1.readline()

f1.close()

f2.close()

# 代码测试,代码调用

copy_file('./a.txt','./b.txt') # 使用相对路径

# 目录(文件夹)复制函数

'''

首先需要引入 os 模块

'''

import os

def copy_mulu(dir1,dir2):

'''

复制文件夹

:param dir1:

:param dir2:

:return:

'''

# 获取被复制文件夹中的所有文件信息

dlist = os.listdir(dir1)

# 创建目标文件夹(即为被复制之后的文件夹,文件夹不能自动生成所以要手动创建,文件可以自动生成)

os.mkdir(dir2)

# 遍历出dir1中的所有文件并且复制

for f in dlist:

# 为遍历出的文件添加目录路径(一个完整的文件=目录的路径+文件名)

file1 = os.path.join(dir1,f) # 源文件

file2 = os.path.join(dir2, f) # 目标文件

# 判断file1是不是文件

if os.path.isfile(file1):

# 调用上面写好的文件复制函数进行文件复制

copy_file(file1,file2)

# 判断file1是不是文件夹

if os.path.isdir(file1):

# 如果是文件夹则递归调用(自己调用自己,继续循环判断)

copy_mulu(file1,file2)

# 代码测试,代码调用

copy_mulu('文件夹','复制后文件夹')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: python文件和文件夹复制函数

本文地址: http://www.cppcns.com/jiaoben/python/299856.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

\r,\n,\r\n

\r 是回车,return(光标到达最左侧) \n 是换行,newline(移到下一行) 如果只换行,打印的东西会在下一行的先一个位置继续,比如 #### 如果只回车,打印的东西会覆盖原有的东西 test\r123-->123t atest\r…

sql server2005索引

create index myindex on Student(StudentID) ---创建一个索引,括号内为要为那一列添加索引drop index Student.myindex ---删除索引,需指定“表名.索引列” 详细参考于:http://www.2cto.com/database/201201/117131.html转载于:https://www.…

python socketio async client_electron/socket.io client-python socketio/aiohttp server//连接失败

此websocket连接失败。有趣的是这几天前还在起作用。我把电子从6降到了5.0.6,但这没用。服务器from aiohttp import webimport socketioapp web.Application()sio socketio.AsyncServer()# or sio socketio.AsyncServer(cors_allowed_origins*)sio.attach(app)sio.on(connec…

2012.2.18-silverlight设计器崩溃

先把所有与siverlight有关的silverlight,silverlightsdk,silverlight_too ,silverlight toolkit,全部卸掉,然后重装,然后启动2010,打开原来的silverlight的项目OK,新疆项目也OK 总结:通过以上解决方法,可以…

领导者/追随者(Leader/Followers)模型和半同步/半异步(half-sync/half-async)模型

领导者/追随者(Leader/Followers)模型和半同步/半异步(half-sync/half-async)模型都是常用的客户-服务器编程模型。这几天翻了些文章,发现对领导者/追随者模型说的比较少,下面就这个模型打个比方&#xff1…

php如何操作mysql数据库代码_php如何操作mysql数据库的类(附代码)

这篇文章主要介绍了php简单操作mysql数据库的类,涉及php操作mysql的连接、查询、插入、删除等基本操作方法,非常具有实用价值,需要的朋友可以参考下。<?php /*** Database class** version: 2.2* revised: 27 may 2007***/class Database {var $host;var $name;var $user;v…

插件之基类窗体

基类窗体要实现的需求包括&#xff1a;控件窗体的字体&#xff0c;权限控制&#xff0c;控制子窗体的显示范围&#xff0c;以及其它一些通用方法的声明。。。。。。 通用方法可声明为VIRTUAL方法&#xff0c;以允许从它继承的子窗体 可以OVERRIDE这些方法&#xff0c;达到多态的…

网络编程模型综述 之 成熟的IO框架介绍

ACE “重量级的C I/O框架&#xff0c;用面向对象实现了一些I/O策略和其它有用的东西&#xff0c;特别是它的Reactor是用OO方式处理非阻塞I/O&#xff0c;而Proactor是用OO方式处理异步I/O的( In particular, his Reactor is an OO way of doing nonblocking I/O, and Proactor …

python解释型语言的区别_什么是解释型语言?

你女网友只懂中文(源代码)&#xff0c;你只懂英文(机器码/CPU指令)&#xff0c;现在你俩要搞对象&#xff0c;怎么办&#xff1f;我假设你已经看过一些搜索文章了&#xff0c;但还是觉得不直观&#xff0c;所以能搜到的我就不写了。女网友写下了自己的&#xff1a;要求.py:二号…

网络编程模型综述 之 多线程模型

每个连接对应一个线程 一个网络socket对应一个处理线程&#xff0c;socket采用阻塞I/O模型&#xff1b; 这种模型是小程序和java常用的策略&#xff0c;对于交互式的长连接应用也是常见的选择(比如BBS)&#xff0c;也常用来做内部服务器交互的模型。这种策略很难满足高性能程序…

已知两边求角度公式_有30度角的直角三角形,已知一直角边,求另两边的公式,快速求法...

有30度角的直角三角形&#xff0c;已知一直角边&#xff0c;求另两边的公式&#xff0c;快速求法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;有30度角的直角三角形&#xff0c;已知一直角…

jQuery 实现一个简单的信息反馈或者信息收集的页面

部分技术&#xff1a; jquery Form validation .NET handler ASP.NET Email notification.页面为简单的纯HTML Js 定义&#xff0c;提交表单通过jQuery 进行表单验证&#xff0c;提示友好的验证信息。表单验证成功 &#xff0c;使用jQuery ajax 提交到ASP.NET 后台代码 Han…

网络编程模型综述 之 UNIX网络I/O模型

阻塞I/O Socket设置为阻塞模式&#xff0c;当socket不能立即完成I/O操作时&#xff0c;进程或线程进入等待状态&#xff0c;直到操作完成。如下图&#xff1a; 这种模型非常经典&#xff0c;也被广泛使用&#xff0c;优势在于非常简单&#xff0c;等待的过程中占用的系统资源微…

久等了,41连开班仪式!

送走2011&#xff0c;迎来了饱受争议的2012年。据玛雅语言说&#xff0c;世界末日将出现在2012年。不过截至笔者发稿之时&#xff0c;还没有天地间的巨变&#xff0c;不过这才2月份&#xff0c;未来的事情不好说&#xff08;这里修改了一下&#xff0c;开始说2012不是世界末日&…

Linux网络编程一步一步学-select详解

select系统调用是用来让我们的程序监视多个文件描述符(file descriptor)的状态变化的。程序会停在select这里等待&#xff0c;直到被监视的文件描述符有某一个或多个发生了状态改变。select函数原型如下&#xff1a;int select(int nfds, fd_set *readfds, fd_set *writefds, f…

java 调用 go_实践总结:在 Java 中调用 Go 代码

在 Java 中调用 Go 的大致过程如下go --> cgo --> jna --> java整个过程要解决的问题主要两个&#xff1a;数据类型在两种语言中如何转化何时清理无用的数据下面就围绕上述调用过程来阐述&#xff0c;本文涉及代码完整版可以下面链接找到&#xff1a;Go -> Cgo这是…

大叔手记(21):汤姆大叔博客园开博100天总结

介绍 昨天是注册博客园的第100天&#xff0c;截止到今天大叔发了99篇帖子&#xff0c;加上今天这篇总共100篇&#xff0c;想来也应该来个总结了&#xff0c;本来是昨天写总结的&#xff0c;但由于加班&#xff0c;于是挪到今天了。 为何开博 博客这种事物在兴起的时候就已经知道…

Linux网络编程一步一步学-异步通讯聊天程序select

什么是异步通讯&#xff1f; 就是通讯任意一方可以任意发送消息&#xff0c;有消息来到时会收到系统提示去接收消息。 这里要用到select函数。使用步骤如下&#xff1a; 1、设置一个集合变量&#xff0c;用来存放所有要判断的句柄&#xff08;file descriptors&#xff1a;即我…

matlab中读取txt数据文件(txt文本文档)

根据txt文档不同种类介绍不同的读取数据方法 一、纯数据文件&#xff08;没有字母和中文&#xff0c;纯数字&#xff09; 对于这种txt文档&#xff0c;从matalb中读取就简单多了 例如test.txt文件&#xff0c;内容为 17.901 -1.1111 33.045 17.891 -1.1286 33.045 17.884 -1.13…

ubuntu默认root密码

安装完Ubuntu后忽然意识到没有设置root密码&#xff0c;不知道密码自然就无法进入根用户下。到网上搜了一下&#xff0c;原来是这麽回事。Ubuntu的默认root密码是随机的&#xff0c;即每次开机都有一个新的root密码。我们可以在终端输入命令 sudo passwd&#xff0c;然后输入当…