我正在使用 Python 2.7.13(在 Kali 4.9.0 amd64 中),并且我尝试了我能找到的 print() 语句的每种变体(使用正确的 future import 语句),我最终得到每次都换行就OK了。这是代码:
from __future__ import print_function
for i in range(0, 10000):
print("\rOK", end="")
我已经尝试过:
用单引号代替双引号作为 end=""
使用Python 2.x语法而不是导入print_function并使用3.0语法
结束=' '结束= “
end="" 的引号之间有一个空格
当我使用 2.7 语法时,当我尝试使用回车符将光标返回到起始位置(并覆盖以前的输出)时,我能够使输出保持在同一行,但仍然连续打印,它会插入一个换行符,即使在我的 print 语句中有一个终止逗号。 我已阅读问题3249524,以及针对此问题的十多个其他解释。我也尝试过使用 sys.stdout 函数来代替:
import sys
for i in range(10):
sys.stdout.write("\rCountdown: %d" % i)
sys.stdout.flush()
两个程序的输出每次仍然换行。我不知道如何让它在同一行的同一位置打印。感谢任何能够阐明这个问题的人。
对我来说,我想显示一些横向滚动的文本。我正在寻找将
\r
放在打印语句的开头 - 如果将它放在行的末尾,则不会显示任何内容。我猜回车符的行为就像 Ctrl-u
一样,而不是真正的回车符。 :-/
这是我的例子...
import time
def sideways_scroll(string, display_length):
string_length = len(string)
for i in range(string_length):
subset = string[i:i + display_length]
print(f'\r{subset}', end='', flush=True)
time.sleep(0.5) # Adjust the delay time as desired
# Example usage
string = 'This is a Simple Sideways Scrolling "Hello, World" Message! '
display_length = 5
sideways_scroll(string, display_length)