【发布时间】:2019-07-29 12:40:42
【问题描述】:
所以,我正在尝试构建一个打开 Apache Karaf 并自动安装一些功能的 python 脚本。我尝试过使用 Subprocess 的 Popen,但发现它非常复杂。有人建议我使用 pexpect 库。
到目前为止,我想出了这个:
karaf = "bash /home/karaf_test/bin/karaf"
p = pexpect.spawn(karaf)
p.logfile = p.stdout.buffer
p.expect("root", timeout=10)
p.sendline(feature_install)
Karaf 的子shell 正确打开,并且 feature_install 字符串似乎通过了,但是进程在没有实际执行命令的情况下立即终止。 There's a screenshot for clarity.
我查看了文档,但一切似乎都很好,我不知道为什么它不会执行。我尝试运行 send() 而不是 sendline() 无济于事。如果有人对此有任何建议,我将不胜感激。
【问题讨论】:
标签: python subprocess pexpect