我已经尝试了一段时间,在python上找到一种方法,在同一行和列上从1移动到9。
我想要这样的输出:1然后它很好地清除屏幕然后它将在与1相同的位置打印2。
这可能吗?
P.S。我是一个菜鸟蠢货。
答案 0 :(得分:0)
如果您不能使用更高级的机制(如ANSI escape codes)来控制光标定位,您可以使用ASCII退格和/或回车来伪造它。退格(\b
)将返回同一行的一个位置,回车符(\r
)将返回到行的开头。
以下代码段会输出1到9之间的数字,其间的暂停时间为半秒:
import sys
from time import sleep
for i in range(1, 10):
print '{0}\r'.format(i),
sys.stdout.flush() # manual flush because we aren't writing newlines
sleep(.5)
如果您需要,curses
模块可提供更高级的定位机制。
答案 1 :(得分:0)
您的意思是我们在下载和安装软件包时看到的内容吗?没有位置的百分比变化在线上移动?
尝试这样的事情:
import sys
import time
for i in range(1,10):
sys.stdout.write('%d\r' %i)
sys.stdout.flush()
time.sleep(1)