> You're talking as if the phrase "split a string on '\t'" is somehow ambiguous. If you rewrote that to say "split a bytestring on the byte value 9" is it somehow different?
And you're talking as if adding “.encode('ascii')” here and there is a huge problem. Python 2 has shown that the muddling between bytes and strings is a mess, thus they fixed it in Python 3. Why unlearn this lesson now?