Python 回车

问题描述 投票:0回答:1

我正在使用 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()

两个程序的输出每次仍然换行。我不知道如何让它在同一行的同一位置打印。感谢任何能够阐明这个问题的人。

python python-2.7 carriage-return
1个回答
0
投票

对我来说,我想显示一些横向滚动的文本。我正在寻找将

\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)
© www.soinside.com 2019 - 2024. All rights reserved.