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 相关文章推荐
python实现html转ubb代码(html2ubb)
Jul 03 Python
Python Web框架Tornado运行和部署
Oct 19 Python
用python实现对比两张图片的不同
Feb 05 Python
Python基于mysql实现学生管理系统
Feb 21 Python
Gauss-Seidel迭代算法的Python实现详解
Jun 29 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
python 字符串常用函数详解
Sep 11 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
Apr 16 Python
python转化excel数字日期为标准日期操作
Jul 14 Python
Python logging日志库空间不足问题解决
Sep 14 Python
Python一些基本的图像操作和处理总结
Jun 23 Python
Python编程编写完善的命令行工具
Sep 15 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数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
JavaScript 组件之旅(二)编码实现和算法
2009/10/28 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
js中prototype用法详细介绍
2013/11/14 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
angularjs性能优化的方法
2018/09/05 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Python中设置变量访问权限的方法
2015/04/27 Python
Python赋值语句后逗号的作用分析
2015/06/08 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
python使用建议与技巧分享(二)
2020/08/17 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
个人考核材料
2014/05/15 职场文书
工人先进事迹材料
2014/12/26 职场文书
努力学习保证书
2015/02/26 职场文书
实习班主任自我评价
2015/03/11 职场文书
开国大典观后感
2015/06/04 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书