如何从common lisp中的文件加载propertylist?
我有一个包含属性列表的文本文件。内容如下所示。如何将其加载到属性列表中如何从common lisp中的文件加载propertylist?,lisp,common-lisp,Lisp,Common Lisp,我有一个包含属性列表的文本文件。内容如下所示。如何将其加载到属性列表中 ((:NOMBREMATERIA "LENGUAJES DE PROGRAMACIÓN" :IDMATERIA "FIEC01552" :CLASES NIL :NOTAPROYECTOS NIL :HORASSEMESTRE "40" :NOTAEXAMENES NIL :NOTATAREAS NIL :CONTRIBUCION_TAREAS 0.1 :CONTRIBUCION_NOTAPROYECT
((:NOMBREMATERIA "LENGUAJES DE PROGRAMACIÓN" :IDMATERIA "FIEC01552"
:CLASES NIL :NOTAPROYECTOS NIL :HORASSEMESTRE "40" :NOTAEXAMENES NIL
:NOTATAREAS NIL :CONTRIBUCION_TAREAS 0.1 :CONTRIBUCION_NOTAPROYECTO 0.5
:CONTRIBUCION_NOTAEXAMEN 0.4)
(:NOMBREMATERIA "HERRAMIENTAS DE COLABORACION DIGITAL" :IDMATERIA "FIEC06460"
:CLASES NIL :NOTAPROYECTOS NIL :HORASSEMESTRE "40" :NOTAEXAMENES NIL
:NOTATAREAS NIL :CONTRIBUCION_TAREAS 0.1 :CONTRIBUCION_NOTAPROYECTO 0.5
:CONTRIBUCION_NOTAEXAMEN 0.4))
打开文件并读取数据:
(with-open-file (f "file.txt")
(read f))
您向我们展示的内容实际上是一个属性列表列表,而不是单个属性列表。您是在尝试读取属性列表,还是只是其中的一个列表?无论如何,我已经知道如何读取它了。在外部输入上使用
read
时,您通常应该将*read eval*
绑定到nil
。否则,攻击者可以通过#.
()读取器宏注入内容。