["python","file-locking"]
Locking a file in Python

I need to lock a file for writing in Python. It will be accessed from multiple Python processes at once. I have found some solutions online, but most fail for my purposes as they are often only Unix based or Windows based.
Update as of June 2024 Nowadays there seem to be a number of robust, cross-platform, actively-maintained solutions to this. A few of the most cited in other answers and comments are: filelock Portalocker oslo.concurrency (if you need more general multi-process synchronization utilities) Original Answer Alright, so I ended up going with the code I wrote here, on my website link is dead, view on archive.org (also available on GitHub). I can use it in the following fashion: from filelock import FileLock with FileLock("myfile.txt.lock"): # work with the file as it is now locked print("Lock acquired.")