1

在 Perl 的 expect 模块中,我可以这样做:

my $login = new Expect;
$login->slave->clone_winsize_from(\*STDIN);

Python中的等价物是什么?我看到了 child.setwinsize(row, column) 的选项,但是如何像在 Perl 中那样从 STDIN 克隆它?

4

3 回答 3

0

您可以使用raw_input(),readline()sys.stdin.readline()取决于您如何获得标准输入。

于 2013-06-03T14:26:45.107 回答
0

所以我发现了如何做到这一点:

rows, cols = map(int, os.popen('stty size', 'r').read().split())
child.setwinsize(rows, cols)
于 2013-06-13T04:20:09.477 回答
0

谢谢@nerdinary,

它对我有用:

stconn = 'ssh -o StrictHostKeyChecking=no -o ForwardX11=no root@server'    
conn = pexpect.spawn(stconn, encoding='utf-8')
conn.timeout = 10
rows, cols = map(int, os.popen('stty size', 'r').read().split())
conn.setwinsize(rows, cols)
conn.expect('password:')
于 2019-01-30T13:48:16.717 回答