明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 786|回复: 5

[讨论] 变量如何保存到文件?

[复制链接]
发表于 2020-9-29 19:57 | 显示全部楼层 |阅读模式
变量如何保存到文件,二进制或文本文件都可以?
lsp变量如何保存到文件,如果是点或浮点数等转换成字符串保存到文件,列表
'("块名1" p1 p2 ang sc (list p3 p4) "string1"),有多行这种数据要保存,如果是固定长度的,可以一项一项展开写入文件,用逗号分隔,但是如果表中含表,表的长度又不固定就比较麻烦,网上有读入json文件的lsp代码,没有看到变量解析成json的代码,谁有好的办法?

谁有lsp可以调用python方法?
发表于 2020-9-30 08:41 | 显示全部楼层
既然是LISP 为何不直接保存LSP文件 加载文件之后read一下就变成数据了
发表于 2020-9-30 10:26 | 显示全部楼层
vectra 发表于 2020-9-30 08:41
既然是LISP 为何不直接保存LSP文件 加载文件之后read一下就变成数据了

(eval (read "(setq a 1)"))
 楼主| 发表于 2020-9-30 18:19 | 显示全部楼层
本帖最后由 jack093 于 2020-10-1 11:39 编辑
vectra 发表于 2020-9-30 08:41
既然是LISP 为何不直接保存LSP文件 加载文件之后read一下就变成数据了

(eval (read "(setq a 1)"))

谢谢长老,好像有希望了
eval函数太神奇了,接触lsp十几年了,eval map apply  lambda等几个函数理解不透,从没用过;

命令: (eval (read "'(9.33 265 \"wgdd\" 6.99  1 '(6.33 5.2233333333))"))
(9.33 265 "wgdd" 6.99 1 (QUOTE (6.33 5.22333)))

命令: (eval (read "'(9.33 265 \"wgdd\" 6.99  1 (6.33 5.2233333333))"))
(9.33 265 "wgdd" 6.99 1 (6.33 5.22333))命令: (type(eval (read "'(9.33 265 \"wgdd\" 6.99  1 (6.33 5.2233333333))")))
LIST
谢谢两位两位长老指教

发表于 2020-10-1 18:43 | 显示全部楼层
jack093 发表于 2020-9-30 18:19
谢谢长老,好像有希望了
eval函数太神奇了,接触lsp十几年了,eval map apply  lambda等几个函数理解不 ...

试试
(eval (read "(setq a 1)"))
(princ a)
发表于 2020-10-2 00:46 | 显示全部楼层
jack093 发表于 2020-9-30 18:19
谢谢长老,好像有希望了
eval函数太神奇了,接触lsp十几年了,eval map apply  lambda等几个函数理解不 ...

写了两个辅助的函数,导入和导出变量到文件,单独发了个帖子,可以参考一下:http://bbs.mjtd.com/thread-182393-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-16 07:03 , Processed in 0.187783 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表