使用go和python遞歸刪除.ds store文件的方法
更新時(shí)間:2014年01月22日 11:15:42 作者:
使用python和go遞歸刪除.DS_Store文件,.DS_Store (英文全稱 Desktop Services Store)是一種由蘋果公司的Mac OS X操作系統(tǒng)所創(chuàng)造的隱藏文件,目的在于存貯文件夾的自定義屬性
python版本:
復(fù)制代碼 代碼如下:
#!/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語言版本:
復(fù)制代碼 代碼如下:
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)
}
相關(guān)文章
python Django框架快速入門教程(后臺(tái)管理)
Django 是一個(gè)開放源代碼的 Web 應(yīng)用框架,由 Python 寫成,今天通過本文給大家介紹python Django框架快速入門教程,適用后臺(tái)管理,感興趣的朋友跟隨小編一起看看吧2021-07-07
PyQt5每天必學(xué)之日歷控件QCalendarWidget
這篇文章主要為大家詳細(xì)介紹了PyQt5每天必學(xué)之日歷控件QCalendarWidget,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
在Python的列表中利用remove()方法刪除元素的教程
這篇文章主要介紹了在Python的列表中利用remove()方法刪除元素的教程,是Python入門中的基礎(chǔ)知識(shí),注意其和pop()方法的區(qū)別,需要的朋友可以參考下2015-05-05

