我们的简单pexpect脚本如下所示:
import pexpect
import sys
test = pexpect.spawn('ftp www.today.com')
test.logfile = sys.stdout
test.expect('Name.*')但是,在脚本被调用的shell上,没有显示任何输出。相反,它似乎挂起了,但我们可以看到进程ftp ...已经产生了。
如何将输出显示在脚本被调用的shell上?
谢谢
发布于 2013-03-08 17:04:16
这一行应该是:
test = pexpect.spawn('ftp www.today.com')不是:
test = pexpect.spawn('ftp ftp.today.com')因为通常情况下,如果需要ftp,就必须使用ftp.something.com。
发布于 2013-03-08 22:19:27
test.logfile将只包含命令的输出,命令行本身不会记录在日志文件属性中。
因此,只要命令是派生的并且没有输出,那么在调用脚本时,shell中就不会显示任何内容。例如,当已达到ftp连接超时时,将会显示。
发布于 2015-07-02 14:43:33
您可能需要使用logfile_read。代码如下:
import pexpect
import sys
test = pexpect.spawn('ftp www.today.com')
test.logfile_read = sys.stdout
test.expect('Name.*')https://stackoverflow.com/questions/15287894
复制相似问题