在python 2和3中的第一行打印在同一行

时间:2014-07-14 08:13:51

标签: python python-3.x

有几种解决方案可以在同一行和第一行打印,如下所示。

在python 2中,

print "\r Running... xxx",

在Python 3中,

print("\r Running... xxx", end="")

我无法找到同时覆盖python 2和3的单一打印解决方案。我必须使用sys.stdout.write吗?

2 个答案:

答案 0 :(得分:16)

使用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() function documentation in Python 2

  

注意:此功能通常不作为内置功能提供,因为名称print被识别为print语句。要禁用该语句并使用print()函数,请在模块顶部使用以后的语句:

from __future__ import print_function

{2.6}中添加了print()函数。

答案 1 :(得分:7)

使用

from __future__ import print_function
在Python 2中

并在Python 2中使用print作为函数

print("\r Running... xxx", end="")