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备份文件以及mysql数据库的脚本代码
Jun 10 Python
10种检测Python程序运行时间、CPU和内存占用的方法
Apr 01 Python
Python3搜索及替换文件中文本的方法
May 22 Python
python抽象基类用法实例分析
Jun 04 Python
用python实现对比两张图片的不同
Feb 05 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
python+splinter实现12306网站刷票并自动购票流程
Sep 25 Python
Python3中lambda表达式与函数式编程讲解
Jan 14 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
Python3 批量扫描端口的例子
Jul 25 Python
Python调用.NET库的方法步骤
Dec 27 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
May 11 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性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
js使用心得分享
2015/01/13 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
Python合并多个装饰器小技巧
2015/04/28 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
python文件和文件夹复制函数
2020/02/07 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
Gretna Green中文官网:苏格兰格林小镇
2019/10/16 全球购物
道路交通安全实施方案
2014/03/12 职场文书
财务会计求职信范文
2015/03/20 职场文书
毕业设计致谢词
2015/05/14 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS