python 实现文件的递归拷贝实现代码


Posted in Python onAugust 02, 2012

所以就想把这些照片翻着看一遍,可是拷出来的照片手机

里是按时间自动分文件夹的,一个一个文件夹拷很是麻烦,于是打算写个python小脚本来完成这个工作(扯这么多,终于

到主题了,?澹

python 实现文件的递归拷贝实现代码

这是待拷贝的文件夹根目录,每个子目录下都有若干照片。

废话少说,上代码:

# -*- coding: utf-8 -*- 
#!/usr/bin/python 
#Filename:copyfile.py 
import os,shutil 
def mycopy(srcpath,dstpath): 
if not os.path.exists(srcpath): 
print "srcpath not exist!" 
if not os.path.exists(dstpath): 
print "dstpath not exist!" 
for root,dirs,files in os.walk(srcpath,True): 
for eachfile in files: 
shutil.copy(os.path.join(root,eachfile),dstpath) 
srcpath='e:\\pic' 
dstpath='f:\\pictotal' 
mycopy(srcpath,dstpath)

运行这个脚本,去f盘看看:

python 实现文件的递归拷贝实现代码

照片都拷贝了过来,果然有很多照片(底下还有很多,没截完)
代码没有什么难懂的,主要是os.walk()函数,这个函数返回指定路径的三元组(起始路径,起始路径下的目录,起始路径下不带路径名的文件名列表)
它直接可以递归遍历到指定目录下的所有目录及文件名,比较好用。
也可以用os.listdir(dirname):函数来实现,listdir函数列出dirname下的目录和文件,然后通过一个判断:若是文件,则拷贝;若是目录,则继续递归
遍历,显然没有walk()函数用起来方便。不过不知道walk()函数内部是怎么实现的,若是直接将根目录下的所有文件存在list中性能上可能不太好,
后面可以用listdir()对比测一下。

可以看出,python仅需短短几行的代码就完成了这个工作,还是很方便的。若用C++来实现代码就比这个长了。
可见,语言无所谓高低,能高效方便实现目标就好,不是吗?

Python 相关文章推荐
详解Python3中yield生成器的用法
Aug 20 Python
详解Python中使用base64模块来处理base64编码的方法
Jul 01 Python
Python外星人入侵游戏编程完整版
Mar 30 Python
浅谈flask截获所有访问及before/after_request修饰器
Jan 18 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
Python实现多线程的两种方式分析
Aug 29 Python
Python 中导入csv数据的三种方法
Nov 01 Python
Python中print函数简单使用总结
Aug 05 Python
Python实现滑动平均(Moving Average)的例子
Aug 24 Python
python使用numpy实现直方图反向投影示例
Jan 17 Python
Python读取表格类型文件代码实例
Feb 17 Python
Pytest单元测试框架如何实现参数化
Sep 05 Python
python实现划词翻译
Apr 23 #Python
Python程序语言快速上手教程
Jul 18 #Python
python 图片验证码代码分享
Jul 04 #Python
Python查询Mysql时返回字典结构的代码
Jun 18 #Python
python 实现堆排序算法代码
Jun 05 #Python
python 实现归并排序算法
Jun 05 #Python
python 实现插入排序算法
Jun 05 #Python
You might like
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
jQuery内容过滤选择器用法分析
2015/02/10 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
python、java等哪一门编程语言适合人工智能?
2017/11/13 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
python批量修改xml属性的实现方式
2020/03/05 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
linux面试题参考答案(7)
2014/07/24 面试题
工程造价专业大学生自荐信
2013/10/01 职场文书
监理员的岗位职责
2013/11/13 职场文书
本科生自荐信
2014/06/18 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
介绍信的格式
2015/01/30 职场文书
义卖募捐活动总结
2015/05/09 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
Go各时间字符串使用解析
2021/04/02 Golang