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 14 Python
列举Python中吸引人的一些特性
Apr 09 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
基于Python os模块常用命令介绍
Nov 03 Python
一些Centos Python 生产环境的部署命令(推荐)
May 07 Python
python 爬取学信网登录页面的例子
Aug 13 Python
python爬虫 urllib模块发起post请求过程解析
Aug 20 Python
Python3 sys.argv[ ]用法详解
Oct 24 Python
Python IDLE或shell中切换路径的操作
Mar 09 Python
python tkinter GUI绘制,以及点击更新显示图片代码
Mar 14 Python
Django ORM filter() 的运用详解
May 14 Python
python实现一次性封装多条sql语句(begin end)
Jun 06 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
数据库的日期格式转换
2006/10/09 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
2014/06/08 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
Jquery iframe内部出滚动条
2010/02/11 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
js对象基础实例分析
2015/01/13 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python中的Matplotlib模块入门教程
2015/04/15 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
python写程序统计词频的方法
2019/07/29 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
高中生学期学习自我评价
2014/02/24 职场文书
保险公司晨会主持词
2014/03/22 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技