ホームページ >バックエンド開発 >Python チュートリアル >go と Python を使用して .ds ストア ファイルを再帰的に削除する方法

go と Python を使用して .ds ストア ファイルを再帰的に削除する方法

WBOY
WBOYオリジナル
2016-06-16 08:45:351711ブラウズ

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+" はディレクトリです"
walk( path+"/"+item)
else:
print " "+path+"/"+item+" は file"
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 "ntotalnumber:"+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 directory %sn", path)
return nil
}

if f.Name() == ".DS_Store" {
count++
println(" " + f.Name() + " は削除されました")
os.Remove(path)
}

return nil
})

if err != nil {
fmt.Printf("filepath.Walk() returns %vn", err)
}
return count
}

func main () {
flag.Parse()
root := flag.Arg(0)
count := 0
if root == "" {
crurrent_dir, _ := ファイルパス。 Abs(".")
count = getFilelist(crurrent_dir)
} else {
count = getFilelist(root)
}
fmt.Printf("nn 合計数:%dn", count)
}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。