[英]How to print output and stay in the same line (Python)?
我有跨越多行的字符串,导致终端滚动到最新的打印行。 但是我想留在第一行,这样我就可以看到第一行而不是最新行。 那可能吗? 例如:
for i in range(100):
print(f"hello {i}")
我想看到hello 0
但输出应该保持相同的形状
如果您使用的是 GNU,则可以设置 defscrollback 100。 否则,这应该会有所帮助:
class More(object):
def __init__(self, num_lines):
self.num_lines = num_lines
def __ror__(self, other):
s = str(other).split("\n")
for i in range(0, len(s), self.num_lines):
print(*s[i: i + self.num_lines], sep="\n")
input("Press <Enter> for more")
more = More(num_lines=30)
"\n".join(map(str, range(100))) | more
我认为这个问题实际上与 python 无关,而是与您使用的终端模拟器有关。 在大多数终端模拟器中,您可以在启动应用程序后简单地向上滚动一行,这样输出就不会自动向下滚动。 只需执行以下操作:
或者,您可以将程序的输出通过管道传输到less,以便您可以逐页滚动:
ps x | less
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.