I was curious how Python would handle this evil and non portable mess:
$ cat io.py
from string import printable
f = open('foo', 'w')
for i in range(0, 5):
f = open('foo', 'r')
for l in f.readlines():
print ''.join(c if c in printable else '.' for c in l),
$ python io.py
Instead of doing it right, look for others who do it worse?
It's not doing it worse, it's doing exactly as you would expect. Each line is returned with the embedded '\0'. That's what you expected from Lua, no?
Yes, thank you. I was not that familiar with Python and reading it wrong, � :-/