What does "print >>" do in python?
The >> sys.stderr
part makes the print
statement output to stderr instead of stdout in Python 2.
To quote the documentation:
>>
must evaluate to a “file-like” object, specifically an object that has awrite()
method as described above. With this extended form, the subsequent expressions are printed to this file object. If the first expression evaluates toNone
, thensys.stdout
is used as the file for output.
In Python 3 use the file
argument to the print()
function:
print("spam", file=sys.stderr)
To convert these from Python 2 to Python 3, change:
print >>sys.stderr, 'Hello'
to:
print('Hello', file=sys.stderr)