我有一個ncurses應用程序,它在啓動時檢查終端大小,如果不適合,會立即退出。如何在使用pexpect時明確設置終端大小
在Linux中,默認大小是80x24,這個應用程序至少需要25個。修復很簡單,我只是在運行ncurses應用程序之前調整終端仿真窗口(在X中)。
我想用pexpect自動化ncurses應用程序,但是我陷入了困境,因爲它認爲終端尺寸比通過pexpect啓動時所需的小,因此它不會運行。任何方式在啓動時明確指定pexpect的終端大小?
我有一個ncurses應用程序,它在啓動時檢查終端大小,如果不適合,會立即退出。如何在使用pexpect時明確設置終端大小
在Linux中,默認大小是80x24,這個應用程序至少需要25個。修復很簡單,我只是在運行ncurses應用程序之前調整終端仿真窗口(在X中)。
我想用pexpect自動化ncurses應用程序,但是我陷入了困境,因爲它認爲終端尺寸比通過pexpect啓動時所需的小,因此它不會運行。任何方式在啓動時明確指定pexpect的終端大小?
在使用pexpect之前,請嘗試設置LINES和COLUMNS環境變量。
Pexpect會將環境傳遞給子任務,並且一些(all?)curses程序在開始之前讀取這些環境變量。
如
import os
os.environ['LINES'] = "25"
os.environ['COLUMNS'] = "80"
# run pexpect stuff as before
您還可以使用:
import pexpect
child = pexpect.spawn(cmd)
child.setwinsize(400,400)
謝謝你,它的工作。 – 2009-10-04 11:54:23