Home >Backend Development >Python Tutorial >How to Overwrite Console Output on the Same Line?

How to Overwrite Console Output on the Same Line?

Susan Sarandon
Susan SarandonOriginal
2024-12-05 10:01:15785browse

How to Overwrite Console Output on the Same Line?

How to Display Dynamic Output in the Same Screen Line

In some circumstances, it's desirable to replace the current console output with new data rather than appending it. One common approach is to utilize the carriage return character ('r') to return to the beginning of the current line:

Simple Version:

for x in range(10):
    print(x, end='\r')
print()

By ending each print statement with 'r', the cursor is returned to the start of the line without advancing to the next line. This allows the subsequent print statement to overwrite the previous output.

Line Cleaning:

If the new output is potentially shorter than the current line, an additional step is required to clear the remaining characters:

for x in range(75):
    print('*' * (75 - x), x, end='\x1b[1K\r')
print()

The escape sequence 'x1b[1K' clears all characters from the cursor position to the end of the line.

Long Line Wrap:

For output that exceeds the line width, line wrapping can be disabled to ensure successive characters overwrite each other:

# Disable line wrapping
print('\x1b[7l', end='')

# Overwrite output
for x in range(75):
    print('*' * (75 - x), x, end='\r')

# Re-enable line wrapping
print('\x1b[7h', end='')

# Advance to next line
print()

Note: It's crucial to re-enable line wrapping after disabling it to prevent any issues with future console output.

The above is the detailed content of How to Overwrite Console Output on the Same Line?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn