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下函数参数的传递(参数带星号的说明)
Sep 19 Python
使用Python判断IP地址合法性的方法实例
Mar 13 Python
在java中如何定义一个抽象属性示例详解
Aug 18 Python
matplotlib简介,安装和简单实例代码
Dec 26 Python
Python批量提取PDF文件中文本的脚本
Mar 14 Python
实例讲解python中的序列化知识点
Oct 08 Python
python使用Plotly绘图工具绘制气泡图
Apr 01 Python
python从list列表中选出一个数和其对应的坐标方法
Jul 20 Python
Django自定义列表 models字段显示方式
Apr 03 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
Python调用OpenCV实现图像平滑代码实例
Jun 19 Python
python实现三阶魔方还原的示例代码
Apr 28 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 在线翻译函数代码
2009/05/07 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
php中的boolean(布尔)类型详解
2013/10/28 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
jquery获取节点名称
2015/04/26 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
webpack 从指定入口文件中提取公共文件的方法
2018/11/13 Javascript
详解使用mocha对webpack打包的项目进行"冒烟测试"的大致流程
2020/04/27 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
不要用强制方法杀掉python线程
2017/02/26 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
Python实现堡垒机模式下远程命令执行操作示例
2019/05/09 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
wxpython绘制音频效果
2019/11/18 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
商场中秋节广播稿
2014/01/17 职场文书
大学学习生活感言
2014/01/18 职场文书
机电专业毕业生求职信
2014/07/01 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
加班费申请报告
2015/05/15 职场文书