简体   繁体   English

如何从pexpect获取数字输出

[英]How to get number output from pexpect

I'm using pexpect to handle two programs made by C. 我正在使用pexpect处理C编写的两个程序。

The problem is that I have to get an integer. 问题是我必须获得一个整数。 I want to have two integers printed from two programs, but all I know is pexpect.expect(['0','1','...','9']) . 我想从两个程序中打印两个整数,但是我所知道的只是pexpect.expect(['0','1','...','9']) I want to get whole integer (with int scale). 我想获取整个整数(具有int刻度)。 How can I get this? 我怎么能得到这个?

(Expected code) (预期代码)

cmd_1 = pexpect.spawn('./program1')
cmd_2 = pexpect.spawn('./program2')
n_1 = pexpect.expect('something')
n_2 = pexpect.expect('something')
print("Number 1 : {} Number 2 : {}".format(n_1,n_2))

.expect() uses regular expressions. .expect()使用正则表达式。 Therefore, use either \\\\d or [0-9] . 因此,使用\\\\d[0-9] You will still need to convert it to an integer, however. 但是,您仍然需要将其转换为整数。 One more thing: it should be cmd1.expect and cmd2.expect , not pexpect.expect 还有一件事:应该是cmd1.expectcmd2.expect ,而不是pexpect.expect

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM