考虑在Python中使用print的以下示例:
>>> for i in range(4): print('.')
.
.
.
.
>>> print('.', '.', '.', '.')
. . . .
在每个值之间添加换行符或空格。我怎样才能避免这种情况,从而使输出。。。。相反换句话说,如何将字符串“附加”到标准输出流?
考虑在Python中使用print的以下示例:
>>> for i in range(4): print('.')
.
.
.
.
>>> print('.', '.', '.', '.')
. . . .
在每个值之间添加换行符或空格。我怎样才能避免这种情况,从而使输出。。。。相反换句话说,如何将字符串“附加”到标准输出流?
当前回答
for i in xrange(0,10): print '\b.',
这在2.7.8和2.5.2(分别为焓盖和OS X终端)中都有效——不需要模块导入或时间旅行。
其他回答
Python 3.x中的print函数有一个可选的结束参数,可用于修改结束字符:
print("HELLO", end="")
print("HELLO")
输出:
你好,你好
分隔符也有sep:
print("HELLO", "HELLO", "HELLO", sep="")
输出:
你好你好
如果您想在Python2.x中使用它,只需在文件开头添加:
from __future__ import print_function
这里有三个代码供您选择:
print("".join(["." for i in range(4)]))
or
print("." + "." + "." + ".")
or
print(".", ".", ".", ".", sep="")
你想在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
您可以在Python 3中执行以下操作:
#!usr/bin/python
i = 0
while i<10 :
print('.', end='')
i = i+1
并使用python filename.py或python3 filename.py。
如何在同一行打印:
import sys
for i in xrange(0,10):
sys.stdout.write(".")
sys.stdout.flush()