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 过滤字符串的技巧,map与itertools.imap
Sep 06 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
详解Python import方法引入模块的实例
Aug 02 Python
对python创建及引用动态变量名的示例讲解
Nov 10 Python
Python绘制频率分布直方图的示例
Jul 08 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
Python中base64与xml取值结合问题
Dec 22 Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
关于python的缩进规则的知识点详解
Jun 22 Python
解决运行出现'dict' object has no attribute 'has_key'问题
Jul 15 Python
python代码实现图书管理系统
Nov 30 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/03 PHP
php 获取本地IP代码
2013/06/23 PHP
关于Zend Studio 配色方案插件的介绍
2013/06/24 PHP
PHP Curl出现403错误的解决办法
2014/05/29 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
PHP多文件上传实例
2015/07/09 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
JS表的模拟方法
2015/02/05 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
2016/11/05 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
js实现复制功能(多种方法集合)
2018/01/06 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
浅谈Python中的bs4基础
2018/10/21 Python
python3中eval函数用法使用简介
2019/08/02 Python
python 实现兔子生兔子示例
2019/11/21 Python
使用Django清空数据库并重新生成
2020/04/03 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
财务出纳员岗位职责
2013/11/26 职场文书
党风廉政承诺书
2014/03/27 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
电影小兵张嘎观后感
2015/06/03 职场文书
董存瑞观后感
2015/06/11 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书
详解JS ES6编码规范
2021/05/07 Javascript