Python Inotify用于文件夹列表

2024-09-24 22:25:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种方法来检查5个域的文档根目录列表,以inotify目录监视。在

对于一个文件夹,它的工作方式是这样的

DIRECTORY_TO_WATCH = "/home/serveradmin/"

我有一个需要为我的服务器递归检查的文件夹列表。在

我刚开始学习python,并有一些C语言的实践经验。刚刚开始学习发展。在

有人能帮我吗?我需要对/tmp文件中提到的5个文件夹进行递归inotify监视/文件夹列表.txt在

在我可以参考的地方有没有类似的代码?在


Tags: to方法文档服务器目录文件夹home列表
3条回答

这是我已经开始工作的示例代码。我需要将“DIRECTORY\u to\u WATCH”替换为我将添加到文件中的文件夹列表。所以基本上它是一个在txt文件中指定的文件夹列表,这样我就可以继续在该文件中添加未来的文件夹,而不需要每次都添加核心代码。在

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class Watcher:
    DIRECTORY_TO_WATCH = "/path/to/my/directory"

    def __init__(self):
        self.observer = Observer()

    def run(self):
        event_handler = Handler()
        self.observer.schedule(event_handler, self.DIRECTORY_TO_WATCH, recursive=True)
        self.observer.start()
        try:
            while True:
                time.sleep(5)
        except:
            self.observer.stop()
            print "Error"

所以您需要创建一个文件夹列表,然后执行for语句来检查它们是否存在。在

我也是

import os
list = ['folder1', 'folder2', 'folder3', 'folder4', 'folder5']
for i in list:
    print("\nDoes", list[i], "exsist?", os.path.exists("/home/serveradmin/" + list[i]))

用正确的文件夹名称替换列表中的项目!在

祝你好运!在

安装inotify-tools

sudo apt-get install inotify-tools

尝试一下:

^{pr2}$

对于macosx,您可以使用fswatch得到类似的结果:

if sys.platform == 'darwin':
    inotifywait = ['fswatch', ' event', 'Created']

有关windows,请参见:Is there anything like inotify on Windows?

相关问题 更多 >