【发布时间】:2016-11-18 16:37:29
【问题描述】:
我想在控制台中使用 curses 在多列中打印数据。有什么简单的方法可以做到这一点?
目前,我的应用程序打印如下信息:
import curses
(...)
# create default screen
std_scr = curses.initscr()
(...)
# example
for line in lines:
std_scr.addstr(line + "\n")
std_scr.refresh()
这会产生以下输出
line 1
line 2
...
line n
但是,我想要的是这样的:
columns = 3
for line in lines:
# easy way to separate columns
这应该导致:
line 1 | line 11 | line 21
line 2 | line 12 | line 22
... | ... | ...
line 10 | line 20 | line 30
有什么简单的方法可以做到这一点?我是否应该简单地使用迭代器按line 1、line 11、line 21、line 2、line 12、line 22、line 3 等顺序进行迭代,同时使用line.ljust(30, " ") 到得到空格?
或者我应该在 curses 中创建多个屏幕?
还有其他更简单的解决方案吗?
我对 curses 很陌生,因此任何一般性建议 + 示例都会很棒。
【问题讨论】:
标签: python python-3.x multiple-columns ncurses python-curses