Skip to main content

Filesystem monitoring

Project description

Supported Platforms

  • Linux 2.6 (inotify)

  • Windows (ReadDirectoryChangesW with I/O completion ports)

  • Any other platform (polling)

Installation

$ python setup.py install

Introduction

The fsmonitor module provides live filesystem monitoring. It can be used to monitor for events such as file creation, deletion, modification and so on:

from fsmonitor import FSMonitor

The FSMonitor class manages filesystem watches and is used to receive events. Call the add_dir_watch() method to add a directory watch to the monitor:

m = FSMonitor()
watch = m.add_dir_watch("/dir/to/watch")

Once a watch has been added, you can call read_events() to read a list of filesystem events. This is a blocking call and in some cases it might return an empty list, so it needs to be re-called repeatedly to get more events:

while True:
    for evt in m.read_events():
        print evt.action_name, evt.name

The FSMonitorThread class can be used to receive events asynchronously with a callback. The callback will be called from another thread so it is responsible for thread-safety. If a callback is not specified, the thread will collect events in a list which can be read by calling read_events().

More Details

See the example code in the examples directory.

Contact Details

Please send any comments or questions to: luke@iogopro.co.uk

Please report bugs on the github issue tracker.

– Luke McCarthy

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fsmonitor-0.1.tar.gz (6.3 kB view details)

Uploaded Source

File details

Details for the file fsmonitor-0.1.tar.gz.

File metadata

  • Download URL: fsmonitor-0.1.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fsmonitor-0.1.tar.gz
Algorithm Hash digest
SHA256 397fc47e339ce8aaa6f7a27fe376d4e614579038ff9c61bf28c6733fb1d0c5cd
MD5 46c2fc01401bd6c79cf9eafef33db8c2
BLAKE2b-256 311562befc5ae5117fd4e6b7dfb367e992226080d6d206d27dd2212c03300b2d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page