Python:iNotify_Simple 从其他目录获取文件

Posted

技术标签:

【中文标题】Python:iNotify_Simple 从其他目录获取文件【英文标题】:Python: iNotify_Simple getting files from other directories 【发布时间】:2019-03-14 22:36:15 【问题描述】:

我正在使用 inotify_simple 从目录目录中获取通知。我正在访问一个具有多个子目录的目录,遍历这些子目录并希望在每个目录中使用 inotify。我对这个程序的目标是在其中一个子目录中发生任何事情(特别是创建文件)时得到通知。

我的文件结构:

-mainDir
  -subDir1
    -file1
    -file2
  -subDir2
    -file3
    -file4
 ...etc.

我正在遍历 mainDir 中的目录,并将该路径设置为 inotify 搜索的路径:

 for directory in os.listdir(self.path):
   new_path = os.path.join(self.path, directory)
   new_curr =  self.inotify.new_curr_file_notification(new_path)

新的路径值正是我所期望的:

 .../mainDir/subDir1
 .../mainDir/subDir2

当将 new_path 传入我的函数(这是提供 inotify 的路径)时,我希望 inotify 只查看该目录。但是,我收到其他目录中的文件导致通知的通知。

path for inotify .../mainDir/subDir1
Event(wd=1, mask=256, cookie=0, name='someFileInSubDir2')
flags.CREATE

有人知道为什么会这样吗?而且,如果有人有任何建议可以使这个过程更容易/更好,我会全力以赴!谢谢!

【问题讨论】:

【参考方案1】:

我是inotify_simple 的作者,由于它没有名为new_curr_file_notification 的方法,我猜这就是你写的东西。如果没有看到该方法,或者没有更多代码可以准确地演示您如何使用该库,我很遗憾无法给您任何建议,因为没有足够的信息来了解您如何使用 inotify_simple

如果您发布一个完整的示例,我可能会知道出了什么问题。

如果看起来可能存在错误,请随时在项目的 github 上发布错误报告。

【讨论】:

以上是关于Python:iNotify_Simple 从其他目录获取文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从python中的其他目录导入模块? [复制]

python并发编程--进程--其他模块-从菜鸟到老鸟

从其他语言(如 Java、PHP、Perl、Python 等)调用 C/C++ 代码的最佳方法是啥?

从路径“文件”下载保存到“其他目录”python脚本问题

从其他函数注释派生的 Python 类型提示

从其他python文件引入函数(转)