我在python中使用curses模块通过读取文件来实时显示输出。字符串消息使用 addstr() 函数输出到控制台,但我无法在需要的地方打印到换行符。
示例代码:
import json
import curses
w=curses.initscr()
try:
while True:
with open('/tmp/install-report.json') as json_data:
beta = json.load(json_data)
w.erase()
w.addstr("\nStatus Report for Install process\n=========\n\n")
for a1, b1 in beta.iteritems():
w.addstr("{0} : {1}\n".format(a1, b1))
w.refresh()
finally:
curses.endwin()
上面并不是每次迭代都将字符串输出到新行(注意 addstr() 中的 \n)。相反,如果我调整终端窗口的大小,脚本会因错误而失败。
w.addstr("{0} ==> {1}\n".format(a1, b1))
_curses.error: addstr() returned ERR