Python 在位打印多行字符串

Python 在位打印多行字符串,python,printing,stdout,Python,Printing,Stdout,当字符串更新时,如何在python中就地打印多行字符串而不移动到下一行 我尝试了pandas、numpy、print,\r仅适用于打印的最后一行字符串。。有什么想法或解决办法吗 from sys import stdout from time import sleep for i in range(5): text = "line one:{}\nline two:{}".format(i,i+2) stdout.write("\r"+text) sleep(1) 输

当字符串更新时,如何在python中就地打印多行字符串而不移动到下一行

我尝试了pandas、numpy、print,\r仅适用于打印的最后一行字符串。。有什么想法或解决办法吗

from sys import stdout
from time import sleep

for i in range(5):
    text = "line one:{}\nline two:{}".format(i,i+2)
    stdout.write("\r"+text)
    sleep(1)
输出应仅为用值更新的两行。
第一行:0>将此值更新为1
第二行:2>将此值更新为3

您可以尝试替换屏幕任何位置的文本。此示例将在不同的行中显示从
i
i+5
的连续数字

import curses, time
scr = curses.initscr()
for i in range(10):
    for k in range(5):
        scr.addstr(k, 0, "%2d" % (i+k))
    scr.refresh()
    time.sleep(0.5)

你的问题不清楚。所以我认为这段代码会很有用*

import array
L = list("someList")
for i in L:
   a=array.array('c', 'X_String_you_need_to_change')
   a[0] = i
   print a.tostring()

在打印出来之前,尝试将字符串保存在缓冲区中!我认为只有使用curses界面才有可能,允许您在屏幕上任意放置字符。例如,在过去的日子里,这已经被用于角色显示器上的“图形”游戏。python有一个可用的curses模块。但是,我不确定它是否能与windows一起工作,因为curses最初是Unix的东西。UniCourses-可以与windows和linux一起工作-请参见此答案(,同样适用于w10)curses是一个很好的开始,它在py/cmd控制台中工作,但在pycharm中不工作(不支持重定向)。我会尝试解决这个问题,但至少我现在知道怎么做了。@PythonMan你是什么意思,它在PyCharm中不起作用?这只是一个IDE,即使内置控制台不支持curses,您在该IDE中创建的程序最终将作为常规Python脚本运行,对吗?当我在PyCharm中运行脚本时,它会抛出错误“不支持重定向”。(因为内置控制台不支持curses)。。但是如果我经常运行它(而不是通过PyCharm),是的,它会工作。