首页 > 编程语言 > 详细

mac os去除去除.DS_Store文件--使用python和go(原创)

时间:2014-01-21 16:35:00      阅读:459      评论:0      收藏:0      [点我收藏+]

.DS_Store (英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮文件夹的自定义属性,例如文件们的图标位置或者是背景色的选择。——见维基百科

有的时候,.DS_Store让人觉得特别麻烦,比如压缩文件或者采用版本控制软件如svn和git的时候,因此写了一段代码递归删除.DS_Store文件,小弟是编程初手,这里的代码只是第一版,请大家多多指教。

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 main
 
import (
  "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)
}
 
最后,这是第一篇博客,不知道如何使用博客园的代码编辑器,求指教呀

mac os去除去除.DS_Store文件--使用python和go(原创)

原文:http://www.cnblogs.com/dyf6372/p/3527261.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!