file - 通过 watch_file 观察到文件更改时如何获取文件名

标签 file julia file-watcher

我目前遇到一个不知道如何解决的问题。我得到了以下 Julia 代码:

while true
    print(watch_file("test"))
end

所以这应该让我获得名为“test”的目录中的所有文件更改。至少在 Windows 上是这样。

现在一切都很好,而且还可以,至少可以创建文件或将文件移动到该目录。这是我得到的一个例子:

("New Textfile.txt",Base.FileEvent(true,false,false))

但是当我删除或重命名该文件时,我没有得到已删除或重命名的文件的文件名。

("",Base.FileEvent(true,false,false))

即使文件被删除或重命名,我也可以使用不同的方法/函数来获取文件名吗?或者更好的是,一种存档并且跨平台兼容的方法?任何帮助表示赞赏。

编辑:如果您能给我一个支持递归监控的替代方案,那就更好了。

最佳答案

在 Linux 中,Julia 0.4.5 和 0.4.3 watch_file 始终返回文件名。这是一个非常依赖于平台的功能(如 Node.js https://nodejs.org/api/fs.html#fs_caveats ),只有手动轮询才能成为真正独立于平台的解决方案。

关于file - 通过 watch_file 观察到文件更改时如何获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36664725/

相关文章:

iphone - 在 iOS 中的另一个应用程序中共享文件/发送文件 ("open in")

c++ - 读取windows文件; _stat 返回不正确的值

printing - 为 Julia 中的新类型定义类似 print() 的函数

intellij-idea - IntelliJ - 文件观察器 : wrong output of macros

file - YII2 如何为文件类型添加自定义验证规则

c - 输出到另一个文件中

julia - 如何找到非泛型函数的来源?

arrays - Julia - 如何将数据帧转换为数组?

javascript - 文件观察器 'Babel' 可用于此文件。说明 : 'Transpiles ECMAScript 6 code to ECMAScript 5'

java - 使用 WatchService 监控远程共享文件夹 (Windows/SMB)