我正在使用python包cdo,它非常依赖tempfile来存储中间结果。创建的临时文件非常大,当运行更大的计算时,我遇到了/tmp
目录被填满而脚本失败并出现disk full
错误的问题(我们说的是10s到100的GB)。我通过创建一个本地文件夹找到了解决问题的方法,比如说$HOME/tmp
然后再做
import tempfile
tempfile.tempdir='$HOME/tmp'
导入cdo
模块之前。虽然这对我有用,但如果我还想让其他人使用我的脚本,这有点麻烦。因此,我想知道,是否会有更优雅的方法来解决问题,例如,告诉tmpfile
定期清除所有临时文件(通常只有在脚本完成后才会这样做)。从我的角度来看,这是可能的,因为我正在运行一个长循环,每次迭代产生一个命名文件,并且在该迭代期间创建的所有临时文件之后都将被丢弃。