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

时间:2019-03-14 22:36:15

标签: python inotify

我正在使用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 个答案:

答案 0 :(得分:0)

我是new_curr_file_notification的作者,并且由于它没有名为inotify_simple的方法,所以我猜这就是您编写的。不幸的是,由于没有足够的信息来了解您如何使用def find_duplicate(list_): duplicate_list=[""] for k in range(len(list_)): if duplicate_list.__contains__(list_[k]): continue for j in range(len(list_)): if k == j: continue if list_[k] == list_[j]: duplicate_list.append(list_[j]) print("duplicate "+str(list_.index(list_[j]))+str(list_.index(list_[k]))) ,因此,在没有看到该方法的情况下,或者没有更多代码可以确切地说明您如何使用该库时,我无法给您任何建议。

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

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