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.1.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

portalocker-1.1.0-py2.py3-none-any.whl (9.8 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

File hashes

Hashes for portalocker-1.1.0.tar.gz
Algorithm Hash digest
SHA256 b955d6197c7cd3206500d3237a2dd6cc899ceebb13460cc97e658cbab70df11b
MD5 6593afdbfbfd79573c7e175548b4fcde
BLAKE2b-256 8706179b41e44aa49c8d347b30f177ca47a4c7ed1c84fc890a68f9e5c22f6cd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portalocker-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3773cb40ccb690900920ac529c554bb49e69e2b396a7ffe20dd3f29c8bbbb497
MD5 845e6c2adba2852eb04276a5de2e9b10
BLAKE2b-256 afe541ce2e919892f038dd25e297ee2a5665ed1cbb535d57b260aa902060e1ca

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