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去掉字符串中重复字符的方法
Feb 27 Python
Python获取任意xml节点值的方法
May 05 Python
详解python单例模式与metaclass
Jan 15 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
python贪吃蛇游戏代码
Apr 18 Python
Python使用reportlab模块生成PDF格式的文档
Mar 11 Python
python elasticsearch环境搭建详解
Sep 02 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
pytorch 准备、训练和测试自己的图片数据的方法
Jan 10 Python
python实现简单颜色识别程序
Feb 19 Python
Python类的继承super相关原理解析
Oct 22 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
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
php数组去重复数据示例
2014/02/25 PHP
PHP的魔术常量__METHOD__简介
2014/07/08 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
Python实现的密码强度检测器示例
2017/08/23 Python
浅谈python jieba分词模块的基本用法
2017/11/09 Python
python list删除元素时要注意的坑点分享
2018/04/18 Python
Python 从相对路径下import的方法
2018/12/04 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
.NET程序员的数据库面试题
2012/10/10 面试题
培训楼经理岗位责任制
2014/02/10 职场文书
一年级班主任感言
2014/03/08 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
模范教师事迹材料
2014/12/16 职场文书
西双版纳导游词
2015/02/03 职场文书
Python正则表达式中flags参数的实例详解
2022/04/01 Python