我需要在同一个地方打印'ok'。有什么办法吗?
我找到了解决方案,但它们无法正确使用IDLE:
while (count < 9):
if statusm == "<Status>OK</Status>":
print "ok",
我想在同一条线上每个'好'。谢谢!
答案 0 :(得分:3)
这样的东西?
<强>代码:强>
for i in range(5):
print '\b\b\bok',
或者,如果您的'ok'位于该行的开头,则可以使用单个'\ r'代替:
for i in range(5):
print '\rok',
输出
ok
答案 1 :(得分:2)
例如,如果要在完全相同的位置打印“确定”,则可以执行以下操作:
for i in range(0, 10000):
print("\rOK", end='')
结果:
OK
在同一个控制台上擦拭10000次。
答案 2 :(得分:0)
from sys import stdout
count = 1
statusm = "<Status>OK</Status>"
while (count < 9):
if statusm == "<Status>OK</Status>":
stdout.write('OK')
count += 1
修改
我认为在IDLE中不可能只做一个OK。但是下面的代码将介绍控制台中可能的内容:
from sys import stdout
from time import sleep
several = ("<Status>OK</Status>",
"<Status>bad</Status>",
"<Status>OK</Status>",
"<Status>bad</Status>",
"<Status>yes</Status>",
"<Status>OK</Status>",
"<Status>none</Status>",
"<Status>bad</Status>",
"<Status>OK</Status>",
"<Status>yes</Status>")
good = ('OK','yes')
for i,status in enumerate(several):
y = str(i)
stdout.write(y)
stdout.write(' OK' if any(x in status for x in good) else ' --')
sleep(1.0)
stdout.write('\b \b\b \b\b \b')
for c in y: stdout.write('\b \b')
结果
OKOKOKOKOKOKOKOK
答案 3 :(得分:0)
如果您需要一次打印一张,请使用其他答案之一。 这将立即打印出来:
my_var = ''
while (count < 9):
if statusm == "<Status>OK</Status>":
my_var += 'ok'
print my_var