Skip to main content

Wraps the portalocker recipe for easy usage

Project description

Linux Test Status Windows Tests Status Coverage Status

Overview

Portalocker is a library to provide an easy API to file locking.

An important detail to note is that on Linux and Unix systems the locks are advisory by default. By specifying the -o mand option to the mount command it is possible to enable mandatory file locking on Linux. This is generally not recommended however. For more information about the subject:

The module is currently maintained by Rick van Hattem <Wolph@wol.ph>. The project resides at https://github.com/WoLpH/portalocker . Bugs and feature requests can be submitted there. Patches are also very welcome.

Examples

To make sure your cache generation scripts don’t race, use the Lock class:

>>> import portalocker
>>> with portalocker.Lock('somefile', timeout=1) as fh:
    print >>fh, 'writing some stuff to my cache...'

To customize the opening and locking a manual approach is also possible:

>>> import portalocker
>>> file = open('somefile', 'r+')
>>> portalocker.lock(file, portalocker.LOCK_EX)
>>> file.seek(12)
>>> file.write('foo')
>>> file.close()

There is no explicit need to unlock the file as it is automatically unlocked after file.close(). If you still feel the need to manually unlock a file than you can do it like this:

>>> portalocker.unlock(file)

Do note that your data might still be in a buffer so it is possible that your data is not available until you flush() or close().

More examples can be found in the tests.

Changelog

See the changelog page.

License

See the LICENSE file.

Project details


Download files

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

Source Distribution

portalocker-1.2.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

portalocker-1.2.0-py2.py3-none-any.whl (14.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file portalocker-1.2.0.tar.gz.

File metadata

  • Download URL: portalocker-1.2.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for portalocker-1.2.0.tar.gz
Algorithm Hash digest
SHA256 37c7d2b8eaf73a779089d8455ad90b0a38afd33e4fb8dedabe49e49550846173
MD5 4ccbcba1b227c66530f6e4e15d11afec
BLAKE2b-256 189fbf662276540727fe4c8113a4ed23fabe95784ad155a48e12f2b9b495217a

See more details on using hashes here.

File details

Details for the file portalocker-1.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for portalocker-1.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d6dfb262b0167c1a603cb8ebdb53cac61eef81d8885074ee69c3bf73c9cb422d
MD5 d091f317ec4fc694ed642fa68c30149f
BLAKE2b-256 0a226a54021b020dd085d6cc03bf2243bbb7cf8808ac23be2db716780e7935c1

See more details on using hashes here.

Supported by

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