考虑在Python中使用print的以下示例:
>>> for i in range(4): print('.')
.
.
.
.
>>> print('.', '.', '.', '.')
. . . .
在每个值之间添加换行符或空格。我怎样才能避免这种情况,从而使输出。。。。相反换句话说,如何将字符串“附加”到标准输出流?
考虑在Python中使用print的以下示例:
>>> for i in range(4): print('.')
.
.
.
.
>>> print('.', '.', '.', '.')
. . . .
在每个值之间添加换行符或空格。我怎样才能避免这种情况,从而使输出。。。。相反换句话说,如何将字符串“附加”到标准输出流?
当前回答
对于Python 2和更早版本,它应该像Re中描述的那样简单:没有CR如何打印?作者:Guido van Rossum(意译):
是否可以打印某些内容,但不能自动生成是否附加回车?
是的,在要打印的最后一个参数后附加逗号。例如,此循环将数字0..9打印在由空格分隔的行上。请注意添加最后一行的无参数“print”:
>>> for i in range(10):
... print i,
... else:
... print
...
0 1 2 3 4 5 6 7 8 9
>>>
其他回答
对于Python 2和更早版本,它应该像Re中描述的那样简单:没有CR如何打印?作者:Guido van Rossum(意译):
是否可以打印某些内容,但不能自动生成是否附加回车?
是的,在要打印的最后一个参数后附加逗号。例如,此循环将数字0..9打印在由空格分隔的行上。请注意添加最后一行的无参数“print”:
>>> for i in range(10):
... print i,
... else:
... print
...
0 1 2 3 4 5 6 7 8 9
>>>
在Python2.x中,您可以在print函数的末尾添加,这样它就不会在新行上打印了。
蟒蛇3:
print('Hello',end='')
例子:
print('Hello',end=' ')
print('world')
输出:你好,世界
此方法在提供的文本之间添加sperator:
print('Hello','world',sep=',')
输出:你好,世界
在Python 3中,可以使用print函数的sep=和end=参数:
要不在字符串末尾添加换行符,请执行以下操作:
print('.', end='')
要在要打印的所有函数参数之间不添加空格,请执行以下操作:
print('a', 'b', 'c', sep='')
您可以将任何字符串传递给任一参数,并且可以同时使用两个参数。
如果缓冲有问题,可以通过添加flush=True关键字参数来刷新输出:
print('.', end='', flush=True)
Python 2.6和2.7
从Python 2.6中,您可以使用__future__模块从Python 3导入打印函数:
from __future__ import print_function
这允许您使用上面的Python3解决方案。
但是,请注意,flush关键字在从Python 2中的__future__导入的打印函数版本中不可用;它只适用于Python 3,更具体地说是3.3及更高版本。在早期版本中,您仍然需要通过调用sys.stdout.flush()来手动刷新。您还需要在执行此导入的文件中重写所有其他打印语句。
或者可以使用sys.stdout.write()
import sys
sys.stdout.write('.')
您可能还需要致电
sys.stdout.flush()
以确保立即刷新stdout。
你想在for循环中打印一些东西;但你不希望每次都用新的行打印。。。
例如:
for i in range (0,5):
print "hi"
OUTPUT:
hi
hi
hi
hi
hi
但你希望它像这样打印:嗨嗨嗨嗨对吗????
只需在打印“hi”后添加逗号。
例子:
for i in range (0,5):
print "hi",
输出:
hi hi hi hi hi