2

このコードを使用して、フォルダーにファイル/ディレクトリが作成されたことを検出しています。指定されたフォルダーに新しいファイル/ディレクトリが作成されたときに正常に機能します。ただし、ファイル/ディレクトリがフォルダーに移動されたときに、ファイル/ディレクトリを通知またはログに記録しません。どうすればそれを検出できますか?

#!/usr/bin/env python

# monitors both files and dirs

import os
import pyinotify
from datetime import datetime

timestamp = datetime.today()
wm = pyinotify.WatchManager()
mask = pyinotify.IN_CREATE

class PTmp(pyinotify.ProcessEvent):
    def process_IN_CREATE(self, event):
        print "Created: %s " % os.path.join(event.path, event.name)
        event_log = open('/home/saad/Code/test/event_log', 'a')
        event_log.write(event.name + ' - ' + timestamp.strftime('%c') + '\n')
        event_log.close()

notifier = pyinotify.Notifier(wm, PTmp())

wdd = wm.add_watch('/home/saad/Code/test/foo', mask, rec=True)

while True:
    try:
        notifier.process_events()
        if notifier.check_events():
            notifier.read_events()
    except KeyboardInterrupt:
        notifier.stop()
        break
4

2 に答える 2