我使用以下命令将屏幕输出保存到文件
writefile("file.txt"),
tex(expression),
closefile()
上面会自动将tex()的输出发送到文件。这一切都很好,我想要的。 (侧点:它每次都会向文件发送一条恼人的NIL行,我以后必须解析它。)
现在,再次运行上面的代码时,会附加文件,这不是我想要的。我想要每次都覆盖文件,或者如果有办法删除文件,那么我可以在之前调用delete。
我查看了帮助而无法找到删除文件的命令,我也看不到告诉writefile()覆盖文件的选项?
是否有选择或方法?我在Windows 7,Maxima版本:5.36.1 Lisp:SBCL 1.2.7
答案 0 :(得分:2)
我想您正在尝试将tex
的输出捕获到文件中。如果是这样,这里还有其他两种方法:
tex (expr, destination);
其中destination
是文件名(附加)或流,由opena
或openw
创建并由close
关闭。顺便说一下,destination
可以是false
,在这种情况下tex
会返回一个字符串。
with_stdout (destination, tex (expr));
其中destination
是文件名(由全局标记file_output_append
确定的附加或修改)或流。
with_stdout
生成的输出,例如tex
, print("% some commentary");
可能会有用。