对目录下的文件进行增和删除的监控,如果有增和删打印出来,并打印文件名
参考代码:
import os import time path_to_watch = "." before = dict ([(f, None) for f in os.listdir (path_to_watch)]) while 1: time.sleep (10) after = dict ([(f, None) for f in os.listdir (path_to_watch)]) added = [f for f in after if not f in before] removed = [f for f in before if not f in after] if added: print("Added: ", ", ".join (added)) if removed: print("Removed: ", ", ".join (removed)) before = after
package main import ( "fmt" "path/filepath" "time" ) func IsContain(items []string, item string) bool { for _, eachItem := range items { if eachItem == item { return true } } return false } func main() { /* 监控文件删除或新增状态 对目录下的文件进行增和删除的监控,如果有增和删打印出来,并打印文件名 */ dirPath := "./*" beforeFiles, _ := filepath.Glob(dirPath) for { time.Sleep(time.Second * 10) afterFiles, _ := filepath.Glob(dirPath) var addFiles []string for _, val := range afterFiles { if !IsContain(beforeFiles, val) { addFiles = append(addFiles, val) } } var delFiles []string for _, val := range beforeFiles { if !IsContain(afterFiles, val) { delFiles = append(delFiles, val) } } fmt.Println("Added: ", addFiles) fmt.Println("Removed: ", delFiles) beforeFiles = afterFiles } }