繁体   English   中英

从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命令将等到看到正在运行的程序关闭。 默认超时为10秒,可以更改为

set timeout 60; # Timeout value as 1 min

暂无
暂无

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

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