使用go和python递归删除.ds store文件的方法
使用go和python递归删除.ds store文件的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:python版本:复制代码代码如下:#!/usr/bin/envpythonimportos,sys;defwalk(path):print...

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 %sn", 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 %vn", 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("nn total number:%dn", count)

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新python学习
热门python学习
脚本专栏子分类