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使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
Python tempfile模块学习笔记(临时文件)
May 25 Python
python批量同步web服务器代码核心程序
Sep 01 Python
Python单链表简单实现代码
Apr 27 Python
Python 序列的方法总结
Oct 18 Python
python 系统调用的实例详解
Jul 11 Python
Python 和 JS 有哪些相同之处
Nov 23 Python
python射线法判断检测点是否位于区域外接矩形内
Jun 28 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
Apr 01 Python
Python迭代器协议及for循环工作机制详解
Jul 14 Python
python制作抽奖程序代码详解
Jan 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
AM/FM收音机的安装与调试
2021/03/02 无线电
php feof用来识别文件末尾字符的方法
2010/08/01 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
简单实现jQuery弹窗效果
2017/10/30 jQuery
JS实现自定义弹窗功能
2018/08/08 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
Python 流程控制实例代码
2009/09/25 Python
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
Python join()函数原理及使用方法
2020/11/14 Python
利用纯CSS3实现tab选项卡切换示例代码
2016/09/21 HTML / CSS
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
公积金转移接收函
2014/01/11 职场文书
团购业务员岗位职责
2014/03/15 职场文书
党支部对照检查材料
2014/08/25 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis
Win11怎么解除儿童账号限制?Win11解除微软儿童账号限制方法
2022/07/07 数码科技