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) }
使用go和python递归删除.ds store文件的方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@