如何覆盖或删除 writefile() 调用使用的文件?
how to overwrite, or delete the file, used by writefile() calls?
我使用以下方法将屏幕输出保存到文件
writefile("file.txt"),
tex(expression),
closefile()
上面的代码自动将 tex() 的输出发送到文件。这一切都很好,也是我想要的。 (旁白:它还会每次向文件发送一个烦人的 NIL 行,我不得不稍后解析它)。
现在,当再次 运行 上面的代码时,文件被附加到,这不是我想要的。我想每次都覆盖文件,或者如果有办法删除文件,那么我可以在它之前调用删除。
我查看了帮助,但找不到删除文件的命令,而且我也没有看到告诉 writefile() 覆盖文件的选项?
是否有解决此问题的选项或方法?我在windows7、千里马版本:5.36.1
口齿不清:SBCL 1.2.7
我猜您正试图将 tex
的输出捕获到一个文件中。如果是这样,这里有几种其他方法:
tex (expr, destination);
其中 destination
是文件名(附加的)或流,由 opena
或 openw
创建并由 close
关闭。顺便说一句,destination
可能是 false
,在这种情况下 tex
returns 一个字符串。
with_stdout (destination, tex (expr));
这里再次 destination
是一个文件名(附加或破坏,由全局标志 file_output_append
确定)或流。
如果您想混合一些不是由 tex
生成的输出,例如 print("% some commentary");
.,with_stdout
可能很有用
我使用以下方法将屏幕输出保存到文件
writefile("file.txt"),
tex(expression),
closefile()
上面的代码自动将 tex() 的输出发送到文件。这一切都很好,也是我想要的。 (旁白:它还会每次向文件发送一个烦人的 NIL 行,我不得不稍后解析它)。
现在,当再次 运行 上面的代码时,文件被附加到,这不是我想要的。我想每次都覆盖文件,或者如果有办法删除文件,那么我可以在它之前调用删除。
我查看了帮助,但找不到删除文件的命令,而且我也没有看到告诉 writefile() 覆盖文件的选项?
是否有解决此问题的选项或方法?我在windows7、千里马版本:5.36.1 口齿不清:SBCL 1.2.7
我猜您正试图将 tex
的输出捕获到一个文件中。如果是这样,这里有几种其他方法:
tex (expr, destination);
其中 destination
是文件名(附加的)或流,由 opena
或 openw
创建并由 close
关闭。顺便说一句,destination
可能是 false
,在这种情况下 tex
returns 一个字符串。
with_stdout (destination, tex (expr));
这里再次 destination
是一个文件名(附加或破坏,由全局标志 file_output_append
确定)或流。
tex
生成的输出,例如 print("% some commentary");
.,with_stdout
可能很有用