文本文件未关闭
我在写文本文件时遇到了一些问题。(setq g (open "C:/my_folder/logfile.txt" "a"))
(setq str (strcat thedate "" username "" dwgno "" qnum "Some more text"))
(write-line str g)
(close g)
由于某些原因,文本文件未关闭。也就是说,我不能在LISP程序完成后删除它。只有当我完全退出AutoCAD时,文件才会关闭,这样我才能删除它。我尽可能地遵循文档,但文件拒绝关闭。 您确定程序在调用“close”函数之前没有/没有抛出错误吗? 好吧,这就是我所怀疑的。我实际上并没有将文件写入指定的位置。要在Novell服务器上安装一个驱动器,这是一条很长的路,我不想公开共享。如果我将文件写入本地C:\驱动器,一切正常。但是我必须将这个日志文件写入服务器,所以这仍然是一个大问题。IT人员就像这辆车的前灯里的鹿。我们可以把这归因于在Novell服务器上工作的另一个异常。
是的,程序正在无误地退出。 你准备好了吗。。。。当然,我尝试的第一件事就是在谷歌上搜索类似的东西。所以我去谷歌,输入“autocad lisp写文本文件novell close”,它在cadtutor上出现了这篇文章。现在看来,谷歌get的更新速度如此之快,以至于当你在几分钟前发布的内容上搜索帮助时,你自己的问题就会出现在解决方案列表的顶部。。。。这是谷歌为你设计的新算法。 您可能需要\\在文件路径中,甚至到\\\\server\\mycaddwgs等,单个\通常不适用于服务器。
例如:\\Autodesk\\lisp\\civ
这就是我很久以前发现的情况。如果我使用\(反斜杠),那么我必须加倍。第一对的结果是。我还发现,通过使用/(正斜杠),我可以不用前导\。无论我使用哪种方法,都是有效的,所以我选择了/方法,因为它使用的字符更少。
我在第一周使用映射驱动器,但很快发现该用户将I:\映射到了与其他用户不同的位置。他们告诉我他们在这里执行的标准就这么多了。不用担心,写下完整的路径只需要一次。我实际上使用了一个变量来存储这条非常长的路径。这让生活变得更加轻松。如果他们在我身上更改它,我所要做的就是编辑这一行代码。
我对此进行了一些搜索,发现可能是或很可能是由于Novell客户端中的文件缓存或写提交设置。IT人员忙于其他任务,所以我告诉他们把这个放在低优先级上。当用户注销或关闭AutoCAD或Novell客户端最终感觉到要关闭文件时,该文件将被更新。今天早上,我从昨天的活动中得到了一个格式非常好的日志文件。不过,这对我这个程序员来说很困难,他必须花时间调试并确保日志文件进程正常工作。看起来是的,只是由于Novell设置的延迟,我无法实时查看它。
哦,是的,我应该在这里补充一点,Excel在这个过程中也写了一个文本文件,没有这样的延迟,或者至少在我们运行这个过程的3个月内,我还没有经历过。此外,我不时编辑和重新保存这个文本文件时,做测试,似乎记事本没有受到这种延迟。但LISP和/或AutoCAD确实会受到这种影响。
页:
[1]