On Sat, Jun 22, 2019 at 2:48 AM Serhiy Storchaka <storch...@gmail.com>
wrote:

> 22.06.19 01:08, Daniel Holth пише:
> > Thanks. I think I might like an option to disable str(bytes) without
> > disabling str != bytes. Unless the second operation would also corrupt
> > output.
> >
> > Came across this kind of set in the hyper http library which uses a set
> > to accept certain headers with either str or bytes keys.
>
> Does that library support Python 2?  If it is true than you have a
> problem, because u'abc' == b'abc' in Python 2 and u'abc' != b'abc' in
> Python 3.
>
> If it is Python 3 only, you can just ignore BytesWarning. It was added
> purely to help to catch subtle bugs in transition to Python 3. In
> future, after Python 2 be out of use, BytesWarning will become deprecated.
>

I stopped using Python 3 after learning about str(bytes) by finding it in
my corrupted database. Ever since then I've been anxious about changing to
the new language, since it makes it so easy to convert from bytes to
unicode by accident without specifying a valid encoding. So I would like to
see a future where str(bytes) is effectively removed. I started working on
a pull request that adds an API to toggle str(bytes) at runtime with a
thread local (instead of requiring a command line argument), so you could
do with no_str_bytes(): if you were worried about the feature, but got a
bit stuck in the internals.
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/5HIHFIJODYSLFCEASM37K3V7XPAF56PK/

Reply via email to