从 Expect 执行 Python 脚本
Execute a Python script from Expect
我正在使用 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。
到了Expect
,总要有所期待,才会让Expect
守候。否则,它将照此进行。简单地产生一个处理是没有意义的,因为 Expect
不要等着看它,这反过来又使用户也看不到输出。
在您的情况下,您只需 运行 代码并查看输出,直到程序完成。我希望我的理解是正确的。
!/usr/bin/expect
spawn python os_fun.py
expect eof; # will wait till 'eof' seen
此处,expect
命令将等待直到它看到 运行ning 程序关闭。
默认超时为 10 秒,可以更改为
set timeout 60; # Timeout value as 1 min
我正在使用 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。
到了Expect
,总要有所期待,才会让Expect
守候。否则,它将照此进行。简单地产生一个处理是没有意义的,因为 Expect
不要等着看它,这反过来又使用户也看不到输出。
在您的情况下,您只需 运行 代码并查看输出,直到程序完成。我希望我的理解是正确的。
!/usr/bin/expect
spawn python os_fun.py
expect eof; # will wait till 'eof' seen
此处,expect
命令将等待直到它看到 运行ning 程序关闭。
默认超时为 10 秒,可以更改为
set timeout 60; # Timeout value as 1 min