tuple __repr__ non-ascii characters
Yaşar Arabacı
yasar11732 at gmail.com
Thu Oct 31 10:59:36 EDT 2013
Hi,
while this:
a = "yaşar"
print a
prints "yaşar"
this:
a = ("yaşar",)
print a
prints ('ya\xfear',)
At first I tried decoding repr(a) with different encodings, but later
I realised there is actually 4 charaters \, x, f and e in return value
of repr.
Therefore, I wrote this:
def byte_replacement(bstring):
return chr(int(bstring[2:],16))
def prettyprint(obj):
text = repr(obj)
while True:
try:
start = text.index("\\x")
text = text[:start] +
byte_replacement(text[start:start+4]) + text[start+4:]
except ValueError:
break
print text
Is there a better way to handle this problem?
--
http://ysar.net/
More information about the Python-list
mailing list