使用go和python递归删除.ds store文件的方法


Posted in Python onJanuary 22, 2014

python版本:

#!/usr/bin/env python
import os, sys;def walk(path):

print "cd directory:"+path

for item in os.listdir(path):


try:



if(item == ".DS_Store"):




global count




count = count+1




print " find file .Ds_Store"




os.remove(path+"/"+item)



else:




if(os.path.isdir(path+"/"+item)):





print " "+path+"/"+item+" is directory"





walk(path+"/"+item)




else:





print " "+path+"/"+item+" is file"


except OSError,e:



print e
 
if __name__=='__main__':

count = 0

if(len(sys.argv)>1):


root_dir = sys.argv[1]

else:


root_dir = os.getcwd()

walk(root_dir)

print "\ntotal number:"+str(count)

go语言版本:

package mainimport (

"flag"

"fmt"

"os"

"path/filepath"
)
func getFilelist(path string) int {

count := 0

err := filepath.Walk(path, func(path string, f os.FileInfo, err error) error {


if f == nil {



return err


}


if f.IsDir() {



fmt.Printf("cd directry %s\n", path)



return nil


}


if f.Name() == ".DS_Store" {



count++



println(" " + f.Name() + " is deleted")



os.Remove(path)


}


return nil

})

if err != nil {


fmt.Printf("filepath.Walk() returned %v\n", err)

}

return count
}
func main() {

flag.Parse()

root := flag.Arg(0)

count := 0

if root == "" {


crurrent_dir, _ := filepath.Abs(".")


count = getFilelist(crurrent_dir)

} else {


count = getFilelist(root)

}

fmt.Printf("\n\n total number:%d\n", count)
}
Python 相关文章推荐
django自定义Field实现一个字段存储以逗号分隔的字符串
Apr 27 Python
python中self原理实例分析
Apr 30 Python
Python绘制七段数码管实例代码
Dec 20 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 Python
python Gunicorn服务器使用方法详解
Jul 22 Python
numpy 声明空数组详解
Dec 05 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
python dumps和loads区别详解
Feb 04 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
通过实例了解python__slots__使用方法
Sep 14 Python
python学习手册中的python多态示例代码
Jan 21 #Python
python pdb调试方法分享
Jan 21 #Python
python发送邮件接收邮件示例分享
Jan 21 #Python
python逐行读取文件内容的三种方法
Jan 20 #Python
c++生成dll使用python调用dll的方法
Jan 20 #Python
python中getattr函数使用方法 getattr实现工厂模式
Jan 20 #Python
python字符串加密解密的三种方法分享(base64 win32com)
Jan 19 #Python
You might like
mysql数据库差异比较的PHP代码
2012/02/05 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&”)
2016/12/23 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
django中间键重定向实例方法
2019/11/10 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
HTML5实现签到 功能
2018/10/09 HTML / CSS
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
物流管理专业应届生求职信
2013/11/21 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
2015年导购员工作总结
2015/04/25 职场文书
超市食品安全承诺书
2015/04/29 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
初一语文教学反思
2016/03/03 职场文书
创业计划书之养殖业
2019/10/11 职场文书