Python问题与curses.intscr()

时间:2013-09-22 16:17:59

标签: python curses python-curses

我是Python新手,我的剧本使用curses。

但是当我尝试在服务器中运行脚本时(假设为1),我的错误就在下面。

_curses.error: addstr() returned ERR

当我尝试在另一台服务器上运行时(假设为2),它运行成功。

原因是服务器1正在生成更多数据以在屏幕上显示,而服务器1生成的数据更少,以便在屏幕上显示。

因此,搜索时发现curses.intscr()使屏幕大小固定,这就是产生错误的原因。

有没有办法克服它或提高屏幕分辨率。

我正在linux中执行这个脚本。

1 个答案:

答案 0 :(得分:1)

你可以尝试分割你的"巨大的"字符串:

from __future__ import division #You don't need this in Python3
from math import *
string = "0123456789012345678901234567890123456789"
columns = 5
rows = int(ceil(len(string)/columns))
for row in range(1,rows+1):
    panel.addstr(row,1,string[(row*columns)-columns:row*columns])

这将从起始字符串打印这些字符串:

01234
56789
01234
56789
01234
56789
01234
56789

这就是这个问题的答案: Formatting text to fit within a box in Python/Curses