[issue46554] Add append keyword argument to Path.write_text() and Path.write_bytes()

Barney Gale report at bugs.python.org
Thu Jan 27 17:05:45 EST 2022


Barney Gale <barney.gale at gmail.com> added the comment:

>From https://stackoverflow.com/a/68969892

> I think a major reason why pathlib.Path objects don't (and, indeed,
> shouldn't) have a append_text method is because it creates a hole for
> inexperienced users to fall into, which is a huge sin in API design.

> Specifically, the hole I'm referring to is using append_text on the
> same file repeatedly in a loop. Because you're continually opening
> and closing the file, it is slow. Plus, doing so many unnecessary
> writes is probably not great for the health of your hard drive.

> Worse, because the program will actually behave correctly (e.g. the
> file will have the contents they intended), they may not even notice
> anything is wrong, because they don't necessarily have a mental gauge
> on how long writing to a file "should" take.

Most of the time you don't need an 'append' mode. And when you do, most
of the time you'll need to append multiple times, in which case
`path.open('a')` is a much better bet.

----------
nosy: +barneygale

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue46554>
_______________________________________


More information about the Python-bugs-list mailing list