The whole point of from __future__ import print_function
is to bring the print
function from Python 3 into Python 2.6+. Thus, it must be used like a function here:
from __future__ import print_function
import sys, os, time
for x in range(0,10):
print(x, sep=' ', end='') # No need for sep here, but okay :)
time.sleep(1)
__future__
statements change fundamental things about the language. From the documentation:
A future statement is recognized and treated specially at compile
time: Changes to the semantics of core constructs are often
implemented by generating different code. It may even be the case that
a new feature introduces new incompatible syntax (such as a new
reserved word), in which case the compiler may need to parse the
module differently. Such decisions cannot be pushed off until runtime.
(For the same reason, they must also appear first in the source code, before any other import
s. The only things that can precede a __future__
statement are the module docstring, comments, blank lines, and other future statements.)
__future__
in Python used for and how/when to use it, and how it works – Indeciduous