Pexpect相当于java?

时间:2012-07-03 14:36:55

标签: java python pexpect

是否有与java相当的pexpect?我知道我可以通过使用commons exec或processbuilder并重定向stdin / stdout然后解析流等等来复制功能。但是,我的问题是,是否存在即插即用的等效功能?

我希望运行像python中的交互式命令行程序。一个小例子是:

def start_binary(input):
   shell_cmd = 'grep '+input+' file4.dat >> file3.dat'
   grep = pexpect.spawn('/bin/bash', ['-c', shell_cmd])
   grep.expect(pexpect.EOF)
   shell_cmd = './myProg -c'
   myProg = pexpect.spawn('/bin/bash', ['-c', shell_cmd])
   myProg.expect('Next DATA file')
   file_list = ['file1.dat', 'file2.dat', 'file3.dat']
   for this_file in file_list:
      myProg.sendline(this_file)
   myProg.sendline()
   return myProg

然后我以交互方式使用myProg(发送命令,获取/解析结果等)。我可以通过myProg.before等获得两次调用之间的结果。

是否有一个软件包在java中以相同的简单方式提供相同的功能?

1 个答案:

答案 0 :(得分:0)

Google搜索“java expect”时,发现expect4j为列表中的第一项,ExpectJ为列出的第二项。