På Sat, 21 Jul 2018 09:07:23 +0100 Chris Green <c...@isbd.net> skrev:
> So - what's the best approach to this? I've done some searching and > most/many of the solutions seem rather heavyweight for my needs. Am I > overlooking something obvious or should I try rethinking the original > requirement and look for another approach? What do you consider heavyweight? Number of dependencies, memory footprint, amount of code or a fourth thing? Also, which platform will the code eventually run on? If your update frequency is low enough that it wont kill the filesystem and the amount of data is reasonably small, atomic writes to a file is easy to work with: def atomic_write(filename, data): handle, name = tempfile.mkstemp() os.write(handle, data) os.fsync(handle) os.close(handle) os.replace(tmpname, filename) The imports are trivial to deduce, so I removed the clutter. If you have multiple filesystems, you may have to read into the details of calling mkstemp. If you have an update frequency that will kill the filesystem (for instance a RPi on a SD card), or have a larger data set where you only want to do partial updates, the mmap module could be an option. It require some more boilerplate. You will probably also have to consider a semaphore to guarantee that the clients read a consistent result set. -- //Wegge -- https://mail.python.org/mailman/listinfo/python-list