请教一个关于 Pexpect 库的问题

2017-12-31 18:35:47 +08:00
 Xiaobaixiao

#系统环境:

Centos 7 X64
Python 3

##示例 1:

import pexpect

with open('ftp.log', "w") as f:
        child =pexpect.spawn('yum remove ftp', encoding='utf-8',logfile=f,searchwindowsize=20)
        child.expect('\[y\/N\]')
        child.sendline('y')

##示例 2:

import pexpect

def test():
    with open('test.log', "w") as f:
        child =pexpect.spawn('yum remove ftp', encoding='utf-8',logfile=f,searchwindowsize=20)
        child.expect('\[y\/N\]')
        child.sendline('y')
test()

以上两段代码,使用示例 1 可以卸载 ftp,但在示例 2 中却无法卸载 ftp, 而 ftp.log 和 test.log 的输出是相同的,对,完全相同! 代码不同之处仅仅是示例 2 中的代码封装成了函数而已, 实在不明白为什么示例 2 无法按照预期进行操作, 莫非这个问题是库的坑?#手动滑稽

1605 次点击
所在节点    Python
4 条回复
cyclelost
2018-01-01 13:00:15 +08:00
child.before 看看呗
Xiaobaixiao
2018-01-01 20:34:40 +08:00
@cyclelost 正文说了输出日志完全相同啊……
lolizeppelin
2018-01-01 21:09:15 +08:00
wai 了没有
Xiaobaixiao
2018-01-01 22:59:18 +08:00
@lolizeppelin 歪了没有?
这里不用 wait 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/419035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX