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