我想删除或删除 .do 文件中的临时文件的内容,以节省内存。我知道该文件应该在 .do 文件完成后被清除,但我想知道是否可以在不再需要内容后中途删除它。
想到的就是打开文件。删除所有观察结果(我先验地知道文件大小的上限)。然后进行保存替换以减小文件的大小。虽然这可行,但我怀疑它是最有效的解决方案,因为它需要打开一个可能很大的文件,大致知道文件的大小,并且文件继续存在,尽管只有少量。
这是我为删除临时文件而生成的代码:
tempfile temp1 temp2
/* LOTS OF CODE HERE */
clear
set mem 1197m
foreach X in temp1 temp2 {
clear
set mem 1197m
use "``X''"
drop if _n <= 20000000
save "``X''", replace
}