在以下代码片段中,如何找到 make 的退出代码?具体来说,我需要知道 make 是失败还是成功。感谢您的任何投入。
process = pexpect.spawn("/bin/bash")
process.expect("make\r")
Run Code Online (Sandbox Code Playgroud)
我必须在我的最新项目中使用 pexpect 并想要获取退出代码,但无法轻松找到解决方案,因为这是谷歌中的最高结果,我将我的解决方案添加到此。
process = pexpect.spawn(command, cwd=work_dir)
process.expect(pexpect.EOF)
output = process.before
process.close()
exit_code = process.exitstatus
Run Code Online (Sandbox Code Playgroud)
我也保存了输出,因为我正在运行 bash 脚本,并且退出代码保存在 exit_code 变量中。
pexpect 不知道该make命令 - 它只是向 bash 发送文本。因此,您需要使用 bash 的机制来确定退出代码 - 的值$?。所以你想要这样的东西:
process.sendline("make") # Note: issue commands with send, not expect
process.expect(prompt)
process.sendline("echo $?")
process.expect(prompt)
exitcode = process.before.strip()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5507 次 |
| 最近记录: |