how to use from future import print_function

I am new at programming with python, and I am trying to print out with a separator and end but it is still giving me a syntax error I am using python 2.7 I am coding from vim editor and here is my code:

    import sys, os, time
    from __future__ import print_function

    for x in range(0,10):
        print x, sep=' ', end=''
        time.sleep(1)

please, help. And using my code, show me where I should actually use the from __future__ import print_function Thank you

First of all, from __future__ import print_function needs to be the first line of code in your script (aside from some exceptions mentioned below). Second of all, as other answers have said, you have to use print as a function now. That's the whole point of from __future__ import print_function; to bring the print function from Python 3 into Python 2.6+.

    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 need to be near the top of the file because they change fundamental things about the language, and so the compiler needs to know about them from the beginning. 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.

The documentation also mentions that the only things that can precede a __future__ statement are the module docstring, comments, blank lines, and other future statements.

From: stackoverflow.com/q/32032697

Back to homepage or read more recommendations: