In Python 2, writing directly to a file handle returns None
:
hi = sys.stdout.write('hello world\\n')
# Out: hello world
type(hi)
# Out: <type 'NoneType'>
In Python 3, writing to a handle will return the number of characters written when writing text, and the number of bytes written when writing bytes:
import sys
char_count = sys.stdout.write('hello world 🐍\\n')
# Out: hello world 🐍
char_count
# Out: 14
byte_count = sys.stdout.buffer.write(b'hello world \\xf0\\x9f\\x90\\x8d\\n')
# Out: hello world 🐍
byte_count
# Out: 17