Make write atomic
ctoth opened this issue · comments
Currently if you call write, it directly calls write on the underlying file object.
If then the power fails or the process crashes the file is left in a garbage state.
I recommend writing to a temporary file, then using rename as this is the accepted practice for atomic writes.
Alternatively you could depend on https://github.com/untitaker/python-atomicwrites
Let me know which approach you prefer and I will open a PR implementing it.
Thanks for offering to make a PR for this, though clearly this is 4 years late. I don't feel up to this being in 5.1.0, but seems like a good idea.
If this comes back around, I'd prefer the temp file appraoch.