首页 > 其他分享 >GO关于fsnotify的使用案例

GO关于fsnotify的使用案例

时间:2022-11-20 11:33:06浏览次数:44  
标签:ok log err watcher 案例 fsnotify go GO

本例子监听当前文件夹下的文件新建,更名,或者对文件内容更新。

package main
import (
"log"
"github.com/fsnotify/fsnotify"
)
func main() {
watcher, err := fsnotify.NewWatcher()
if err != nil {
log.Fatal("NewWatcher failed: ", err)
}
defer watcher.Close()
done := make(chan bool)
go func() {
defer close(done)
for {
select {
case event, ok := <-watcher.Events:
if !ok {
return
}
log.Printf("%s %s\n", event.Name, event.Op)
case err, ok := <-watcher.Errors:
if !ok {
return
}
log.Println("error:", err)
}
}
}()
err = watcher.Add("./")
if err != nil {
log.Fatal("Add failed:", err)
}
<-done
}

go run main.go

在当前文件夹下,建立一个文件,并重命名。新建"新建文本文档.txt",并重命名为121.txt。如下事件。

GO关于fsnotify的使用案例_新建文本

对121.txt进行内容编辑。会产生write事件。两次编辑产生两次write

GO关于fsnotify的使用案例_github_02

标签:ok,log,err,watcher,案例,fsnotify,go,GO
From: https://blog.51cto.com/wyf1226/5871309

相关文章

  • Django Rest_Framework(一)
    目录1.Web应用模式2.api接口3.RESTfulAPI规范4.序列化5.DjangoRest_Framework特点6.环境安装与配置6.1安装DRF6.1.1创建django项目6.2添加rest_framework应用6.......
  • 云原生之旅 - 14)遵循 GitOps 实践的好工具 ArgoCD
    前言ArgoCD 是一款基于kubernetes的声明式的Gitops持续部署工具。应用程序定义、配置和环境都是声明式的,并受版本控制应用程序部署和生命周期管理都是自动化的、......
  • PHP阶段案例之Web表单生成器 转摘的
    HP阶段案例之Web表单生成器①准备表单②定义表单生成函数效果图原码奉上 ①准备表单这里是用form.php文件来保存表单信息,通过$element元素以数组的形......
  • django---中间件
    中间件当用户发送请求时,其实时候是将请求发送给wsgi(一种协议),django使用的是wsgiref,然后再将请求发送给django的各个中间件(settings里的MIDDLEWARE表示使用的中间件),再由......
  • django--路由系统
    django路由系统 --动态路由 #----urls.py----------urlpatterns=[path('admin/',admin.site.urls),path('index/',views.index),re_path(r'edit/(\w*)/',vi......
  • django--基础知识
    --安装pipinstalldjango--创建一个django项目django-adminstartproject项目名--创建一个应用pythonmanage.pystartappapp01--启动django项目pythonmange.py......
  • mongodb windows 安装以及资料
    mongoDBwindows安装1:下载http://www.mongodb.org/display/DOCS/Downloads选择你要下载的版本解压软件包,你会看到解压后的文件夹中有个BIN目录,进......
  • Django Rest_Framework(一)
    GIT操作远程仓库推送代码凭证管理'初到公司,先克隆远程仓库的代码gitclonehttps://gitee.com/clschao/ttt.git将整个远程仓库的代码\分支\版本都拷贝到了......
  • django4基础
    #开始步骤pipinstalldjangodjango-adminstartprojectmysitepythonmanage.pyrunserver8000打开浏览器访问127.0.0.1:8000#新增url#urls.pyfromdjango.......
  • go语言学习笔记51 Go Module
    GOPATH$GOPATH/pkg目录下会有一个文件夹(文件名根据操作系统的不同而有所不同,例如在Mac操作系统下为darwin_amd64)存储预编译的obj文件,以加快程序的后续编译。大多数开......