使用pexp时如何显式设置终端大小

2024-04-23 14:34:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个ncurses应用程序,它在启动时检查终端大小,如果不合适就立即退出。

在Linux中,默认大小是80x24,这个应用程序至少需要25个。修复很简单,我只是在运行ncurses应用程序之前调整终端仿真窗口的大小(在X中)。

我想用pexpect自动化ncurses应用程序,但我遇到了麻烦,因为它认为通过pexpect启动时,终端的大小比所需的要小,所以无法运行。有没有办法在启动时用pexpect显式指定终端大小?


Tags: 应用程序终端linuxpexpect办法ncurses时用比所
2条回答

您还可以使用:

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

在使用pexpect之前,请尝试设置line和COLUMNS环境变量。

Pexpect将把环境传递给子任务,以及一些(全部?)诅咒程序在启动之前读取这些环境变量。

例如

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

相关问题 更多 >