我需要在同一个地方打印'ok'。有什么办法吗?
我找到了解决方案,但它们不能正确使用 IDLE:
 while (count < 9):
      if statusm == "<Status>OK</Status>":
         print "ok", 
我希望每个“好的”都在同一行。谢谢!
像这样的东西?
代码:
for i in range(5):
    print '\b\b\bok',
或者,如果您的 'ok' 在行首,您可以使用单个 '\r' 代替:
for i in range(5):
    print '\rok',
输出:
ok
    例如,如果您想在完全相同的位置打印“OK”,您可以执行以下操作:
for i in range(0, 10000):
    print("\rOK", end='')
结果 :
OK
在同一个控制台点上写了 10000 次。
那 ?:
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
    如果您需要一次打印一个,请使用其他答案之一。这将一次打印它们:
my_var = ''
while (count < 9):
      if statusm == "<Status>OK</Status>":
         my_var += 'ok'
print my_var