2009-10-04 21 views
5

我有一個ncurses應用程序,它在啓動時檢查終端大小,如果不適合,會立即退出。如何在使用pexpect時明確設置終端大小

在Linux中,默認大小是80x24,這個應用程序至少需要25個。修復很簡單,我只是在運行ncurses應用程序之前調整終端仿真窗口(在X中)。

我想用pexpect自動化ncurses應用程序,但是我陷入了困境,因爲它認爲終端尺寸比通過pexpect啓動時所需的小,因此它不會運行。任何方式在啓動時明確指定pexpect的終端大小?

回答

5

在使用pexpect之前,請嘗試設置LINES和COLUMNS環境變量。

Pexpect會將環境傳遞給子任務,並且一些(all?)curses程序在開始之前讀取這些環境變量。

import os 
os.environ['LINES'] = "25" 
os.environ['COLUMNS'] = "80" 
# run pexpect stuff as before 
+0

謝謝你,它的工作。 – 2009-10-04 11:54:23

3

您還可以使用:

import pexpect 
child = pexpect.spawn(cmd) 
child.setwinsize(400,400)