从pexp运行Scilab

2024-04-25 11:33:14 发布

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

我尝试使用pexpect模块运行scilab,代码如下:

                import pexpect
                c=pexpect.spawn('scilab-adv-cli -nb')
                c.expect('-->')

当我这么做的时候

^{pr2}$

情节出现了。但当我这么做的时候

^{3}$

其次是

                c.before

它给出了以下结论:

          '  =\r\n \r\n    3.    6.  \r\n \r\n\x1b[?1h\x1b=-->[1 2]*[3]\r\n\x1b[?1l\x1b> '

上面的输出怎么可能只得到3个呢。6在上面?在


Tags: 模块代码importcliexpectpexpectx1bscilab
2条回答

如果您要读取的所有输出都很简单,那么您可以执行以下操作:

largenum = 1000
# flush any remaining output
c.read_nonblocking(largenum)
c.sendline('[1 2]*[3]')
# discard unwanted lines until relevant line
for i in range(3): next(c)
# get answer (in this case, a single line)
ans = next(c).strip()
# discard rest of answer
c.read_nonblocking(largenum)

您可能知道,您高度依赖scilab CLI输出数据的方式。在

相关问题 更多 >