On Mon, Jan 25, 2021 at 8:51 PM Inada Naoki <songofaca...@gmail.com> wrote:
> On Tue, Jan 26, 2021 at 10:22 AM Guido van Rossum <gu...@python.org> > wrote: > > Older Pythons may be easy to drop, but I'm not so sure about older > unofficial docs. The open() function is very popular and there must be > millions of blog posts with examples using it, most of them reading text > files (written by bloggers naive in Python but good at SEO). > > > > I would be very sad if the official recommendation had to become "[for > the most common case] avoid open(filename), use open_text(filename)". > > I agree that. But until we switch to the default encoding of open(), > we must recommend to avoid `open(filename)` anyway. > The default encoding of VS Code, Atom, Notepad is already UTF-8. Maybe we're overthinking this - do we really need to recommend avoiding `open(filename)` in all cases? Isn't it just fine to use if `locale.getpreferredencoding(False)` is UTF-8, since in that case there won't be any change in behavior when `open` switches from the old, locale-specific default to the new, always UTF-8 default? If that's the case, then it would be less of a backwards incompatibility issue, since most production environments will already be using UTF-8 as the locale (by virtue of it being the norm on Unix systems and servers). And if that's the case, all we need is a warning that is raised conditionally when open() is called for text mode without an explicit encoding when the system locale is not UTF-8, and that warning can say something like: Your system is currently configured to use shift_jis for text files. Beginning in Python 3.13, open() will always use utf-8 for text files instead. For compatibility with future Python versions, pass open() the extra argument: encoding="shift_jis" ~Matt
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/6C2Y3RELB7PQYNNV5GS2D3H65SOXVD3N/ Code of Conduct: http://python.org/psf/codeofconduct/