我正在使用Expect进行自动化,我想从中执行Python脚本。但它没有用......这是我到目前为止所尝试的:
#!/usr/bin/expect
spawn "./os_fun"
和
#!/usr/bin/expect
spawn "./os_fun.py"
和
#!/usr/bin/expect
spawn python "./os_fun(.py)"
“os_fun.py”包含简单代码:
#!/bin/usr/python
import os
print os.getcwd()
我还想提一下,我必须使用Expect而不是Bash,因为我需要做自动化部分,而且我不应该使用Pexpect。
答案 0 :(得分:3)
说到Expect
,你总是需要一些东西,以便Expect
等待它。否则,它将继续这样做。简单地产生一个处理是没有意义的,因为Expect
不等待查看它,这反过来又使用户也不会看到输出。
在您的情况下,您只需运行代码并查看输出,直到程序完成。我希望我的理解是正确的。
!/usr/bin/expect
spawn python os_fun.py
expect eof; # will wait till 'eof' seen
这里,expect
命令将等待它看到正在运行的程序关闭。
默认超时为10秒,可以更改为
set timeout 60; # Timeout value as 1 min