A minimal, no-dependencies lock file mechanism, creating a temporary file to signal that a specific file should not be touched by other scripts, or instances of the same script.
Created for Europe 1° Warmer.
This is module does not implement OS level file locking. For that, see e.g. the built-in lockfile module, zc.lockfile, or other similar projects.
pip install tmplockfile
from tmplockfile import LockFile, ResourceLocked
with LockFile("data.csv") as lockfile:
# Do things involving data.csv here
#
# A lock-file is temporarily placed in the same directory,
# in a way that avoids the most obvious race conditions.
# The variable `lockfile` contains the name of the lock-file,
# e.g. `data.csv~lock`.
except ResourceLocked:
print("Another script is currently working on data.csv. Try again later!")
-
0.0.3
- Don't crash when no lockfile could be created