在Python 2和3中如何在同一行打印
有几种方法可以在同一行上打印内容,并且要在行的开头打印,像下面这样。
在Python 2中,
print "\r Running... xxx",
而在Python 3中,
print("\r Running... xxx", end="")
我找不到一个可以同时适用于Python 2和Python 3的打印方法。我是不是必须使用 sys.stdout.write
呢?
2 个回答
7
在Python 2中使用
from __future__ import print_function
同时也要把print当作一个函数来用
print("\r Running... xxx", end="")
18
使用 from __future__ import print_function
这行代码,可以让你在 Python 2 和 Python 3 中都使用 print()
这个函数来打印内容:
from __future__ import print_function
print("\r Running... xxx", end="") # works across both major versions
你可以查看 print()
函数在 Python 2 中的说明:
注意:这个函数通常不是内置的,因为 Python 2 中的 print 被当作一个语句来使用。如果你想禁用这个语句,使用
print()
函数,就需要在你的模块顶部加上这行代码:from __future__ import print_function
print()
函数是在 Python 2.6 版本中新增的。