This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Carriage Return problem in version v3.9.0:9cf6752
Type: behavior Stage: resolved
Components: Interpreter Core Versions: Python 3.9
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: skumbhar, steven.daprano
Priority: normal Keywords:

Created on 2021-04-10 13:32 by skumbhar, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
CarriageReturn_Issue.JPG skumbhar, 2021-04-10 13:32 Carriage Return Problem
Messages (2)
msg390714 - (view) Author: Santosh Kumbhar (skumbhar) Date: 2021-04-10 13:32
Carriage return \r provide incorrect result
msg390757 - (view) Author: Steven D'Aprano (steven.daprano) * (Python committer) Date: 2021-04-11 00:57
Hello Santosh,

In future, please don't post images or screen shots of text, please copy and paste the text of your code.

You have something similar to this:

>>> text = "short line\rvery long line of text"
>>> print(text)
very long line of text


but you haven't told us what you expected to see instead or why you think it is a bug.

It isn't a bug, it is working correctly. Consider this version:


>>> text = "a very long line of text\rshort line"
>>> print(text)
short lineg line of text


Printing a carriage return returns the print location to the start of the line. To start a new line, you need a newline \n.


This is most commonly used for updating the display in place. Try running this code:

import time
def demo():
    for i in range(1, 101):
        print("\rUpdating record %d" % i, end='', flush=True)
        time.sleep(0.1)
    print()
History
Date User Action Args
2022-04-11 14:59:44adminsetgithub: 87967
2021-04-11 00:57:41steven.dapranosetstatus: open -> closed

nosy: + steven.daprano
messages: + msg390757

resolution: not a bug
stage: resolved
2021-04-10 13:32:49skumbharcreate