A simple question on a python module. Let's say I have the following code:
for i in range(1000):
print i
I开发者_运维知识库t'll output something along the lines of:
1
2
'Snip'
999
Is it possible to have the program output all the numbers on the same line? I'm not talking about "1, 2, 3 .." rather I want the line value to change to the current i
If you want the character to be overwritten/replaced each time, you may need to use a terminal control library like 'curses'. Here's a Python how-to article to get you started.
If you want to draw a GUI inside a terminal, you'll have to use the curses module.
For a simple case the following code works just fine:
sys.stdout.write(str(i)+'\r')
sys.stdout.flush()
import os
for i in range(1000):
print i
os.system("clear")
edit: as mentioned in the comment below, change "clear" to "cls" if using windows.
Text printed to stdout can't be dynamically changed. You need to use a panel.
http://docs.python.org/library/curses.panel.html
Initialize a new panel, and then use Panel.set_userptr(obj) in your loop.
精彩评论