在Windows下你必須做一個「新行」 \n
你做一個「回車」之前\r
示例:基於評論
>>>car = "carriage\n\rreturn"
>>>print (car)
carriage
return
>>>
[編輯]
如果我們的目標是打印比上年線,下面可在Microsoft Windows
import sys
def print_and_return(string):
#adding '\b' which moves the carriage back one character
#based on length of the string
sys.stdout.write(string.ljust(len(string)*2,'\b'))
sys.stdout.flush()
#this will print to stdout, and 'return' position to start
print_and_return("string1")
#normal print, but starting at the start of the previous print
print("string2")
012使用
這將產生
string2
,將有覆蓋原來的字符串,就可以把兩個語句之間time.sleep()
,如果你想看到它。
但是,這將打印在原始行的第一行上,但它不會刪除以前打印的字符串,因此如果第二個字符串比最初打印的字符串短,原始打印的字符串的末尾保持打開屏幕。
print_and_return("string1=long")
print("string2")
會產生
string2=long
您可以隨時返回以前的字符串的長度,然後添加空格到第二個字符串,然後將用空格覆蓋其他字符的結束。
import sys
def print_and_return(string):
sys.stdout.write(string.ljust(len(string)*2,"\b"))
sys.stdout.flush()
return len(string)
l = print_and_return("string1=long")
#normal print, but starting at the start of the previous print
#adding spaces to ensure the length is the same as previous printed string
print("string2".ljust(l))
它將會產生:
string2
HTH。
沒有答案,但我找到了相關的電子郵件存檔:https://mail.python.org/pipermail/tutor/2006-February/045277.html。這就是說,使用回車這種方式是非常罕見的。事實上,它是Windows對新行的標準表示的一部分,並且是舊行的Mac代表的換行符,可能是它不常見的原因之一。我當然不會指望它可以跨系統移植。 (或者甚至在顯示器上,正如你發現的那樣,例如,它如何使用PuTTY進行SSH工作?)你想完成什麼? – jpmc26
感謝您的鏈接,這是我正在尋找的答案。我並沒有試圖完成任何事情,特別是通過O'reilly系列的工作。我發現如果我不瞭解某些東西,它會在稍後咬我。 – KEJ