html tool

2017年11月19日星期日

pexpect log flush

https://www.ibm.com/developerworks/cn/linux/l-cn-pexpect2/index.html

清单 3. log 内容为空的例子代码
1
2
3
4
5
import pexpect
p = pexpect.spawn( ‘ ls -l ’ )
fout = open ('log.txt', "w")
p.logfile = fout
fout.close()

运行该脚本后,你会发现其实 log.txt 是空的,没有记录 ls -l 命令的内容,原因是没有调用 send 或 read_nonblocking,真正的内容没有被 flush 到 log 中。如果在 fout.close() 之前加上 p.expect(pexpect.EOF),log.txt 才会有 ls -l 命令的内容。

没有评论:

发表评论