Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Python执行公共Lisp代码_Python_Common Lisp - Fatal编程技术网

如何从Python执行公共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

我想从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")')
但它不工作,它只是启动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,它应该在这种情况下有所帮助: