Best (simplest) way to share data between processes

Barry barry at barrys-emacs.org
Sun Jul 7 18:27:01 EDT 2024



> On 7 Jul 2024, at 22:13, Chris Green via Python-list <python-list at python.org> wrote:
> 
> a simple file lock can then
> be used to prevent simultaneous access (well, simultaneous access when
> the writing process is writing).

There is a simple pattern to make this robust.

Write new values to a tmp file.
Close the tmp file.
Then use os.rename(tmpfile, productionfile).

This is guaranteed that any process that reads the file will only see all the old file contents or all the new file contents,  never a mix of both.

Barry




More information about the Python-list mailing list