我已经看过Executing a shell command from Common Lisp及其答案,但我还不确定SBCL是否提供了一种从代码执行shell命令的方法。
SBCL Manual确实支持POSIX,但我希望能有更高级别的东西。具体来说,我想调用Python脚本并捕获返回值。有没有办法做到这一点?
答案 0 :(得分:4)
给定文件test.py
:
import sys
sys.exit(42)
您可以使用sb-ext:run-program
运行它并检查退出代码,如下所示:
CL-USER> (sb-ext:run-program "python" '("test.py") :search t :wait t)
#<SB-IMPL::PROCESS :EXITED 42>
CL-USER> (sb-ext:process-exit-code *)
42