如何从Python执行公共Lisp代码
我想从Python中执行公共Lisp(SBCL)代码,例如通过shell。我还需要运行一个名为Shop3的Lisp库来执行我的Lisp代码。我试过:如何从Python执行公共Lisp代码,python,common-lisp,Python,Common Lisp,我想从Python中执行公共Lisp(SBCL)代码,例如通过shell。我还需要运行一个名为Shop3的Lisp库来执行我的Lisp代码。我试过: os.system('sbcl && (asdf:load-system "shop3") && (in-package:SHOP-USER) && (load "/Users/kiliankramer/Desktop/Shop-Planer/planner-new&qu
os.system('sbcl && (asdf:load-system "shop3") && (in-package:SHOP-USER) && (load "/Users/kiliankramer/Desktop/Shop-Planer/planner-new")')
但它不工作,它只是启动sbcl,然后在加载asdf库“shop3”之前停止
你能告诉我如何执行我的Lisp代码,或者我必须运行外部Lisp程序(包括Lisp库)才能执行它吗
谢谢转发。:)
&&
链接shell命令。也就是说,它启动sbcl
并等待它终止,如果终止成功,那么它将尝试以shell命令的形式执行(asdf:load system“shop3”)
(不是您想要的!)
您需要使用:
os.system(“sbcl--eval”(asdf:load system\\\“shop3\\”)--eval(封装中:SHOP-USER)--load/Users/kiliankramer/Desktop/SHOP Planer/planner new)
但是,您可能希望使用而不是。
它还可以避免转义引号&c:
subprocess.run([“sbcl”、“--eval”、”(asdf:load system“shop3”),
“--eval”,”(包装中:SHOP-USER),
“--load”、“/Users/kiliankramer/Desktop/Shop Planer/planner new”)
我试图从python执行的文件是“load”/Users/kiliankramer/Desktop/Shop Planer/planner new”,但为此我需要在之前加载shop3。我不熟悉Shop。它可以在hylang()中执行吗?谢谢,我读过Hy,我会尝试的!:)(ps:shop3-简单的层次顺序计划器是机器人的计划器)SHOP3是一个用于计划任务的系统,使用Common Lisp编写:另请参见cl4py,它应该在这种情况下有所帮助: