I want to overwrite the hello
. But when a \n
was printed i can't come back to that line.
So what do applications do which overwrite many lines like the program htop.
import sys
print 'hello'
print 'huhu',
print '\r\r\rnooooo\r'
The \r or carriage return will put the cursor at the beginning of the line and allows you to overwrite the content of the line.
Using a Backslash. The backslash (\) is an escape character that instructs the shell not to interpret the next character. If the next character is a newline, the shell will read the statement as not having reached its end. This allows a statement to span multiple lines.
Go to the line from which you want to start commenting. Then, press ctrl + v , this will enable the visual block mode. use the down arrow to select multiple lines that you want to comment. Now, press SHIFT + I to enable insert mode.
The colorama third party module has support for changing the position of the cursor, via the "\x1b[?:?H" command string. You can also clear the screen this way.
import colorama
colorama.init()
def put_cursor(x,y):
print "\x1b[{};{}H".format(y+1,x+1)
def clear():
print "\x1b[2J"
clear()
put_cursor(0,0)
print "hello"
print "huhu"
#return to first line
put_cursor(0,0)
print "noooooo"
The module appears to do this by importing ctypes and invoking windll.kernel32.SetConsoleCursorPosition
. See win32.py, line 58.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With