python print one line same space

2020-05-01 08:36发布

I need to print 'ok' in same place. Any ways to do it?

I've found solutions but they don't works with IDLE correctly:

 while (count < 9):
      if statusm == "<Status>OK</Status>":
         print "ok", 

I want every 'ok' on the same line. Thanks!

4条回答
▲ chillily
2楼-- · 2020-05-01 09:00

If you need to print them one at a time, use one of the other answers. This will print them all at once:

my_var = ''
while (count < 9):
      if statusm == "<Status>OK</Status>":
         my_var += 'ok'
print my_var
查看更多
疯言疯语
3楼-- · 2020-05-01 09:09

That ? :

from sys import stdout

count = 1    
statusm = "<Status>OK</Status>"
while (count < 9):
      if statusm == "<Status>OK</Status>":
          stdout.write('OK')
          count += 1

EDIT

I think it isn't possible to do just one OK, in IDLE. But the following code will give idea of what is possible in a console:

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')

result

OKOKOKOKOKOKOKOK
查看更多
一夜七次
4楼-- · 2020-05-01 09:11

Something like this?

Code:

for i in range(5):
    print '\b\b\bok',

Or, if your 'ok' is at the beginning of the line you can use a single '\r' instead:

for i in range(5):
    print '\rok',

Output:

ok
查看更多
爷、活的狠高调
5楼-- · 2020-05-01 09:19

For example, if you want to print "OK" in the exact same spot, you can do :

for i in range(0, 10000):
    print("\rOK", end='')

Result :

OK

worte 10000 times on the same console spot.

查看更多
登录 后发表回答