保存临时文件
我正在用 xlwt
这个库在 Python 中创建一个 Excel 表格。其实你可以用其他任何能生成文件的工具来替代它;我想对这个文件做的事情才是最重要的。
from xlwt import *
w = Workbook()
#... do something
w.save('filename.xls')
我有两个使用场景:一个是把它直接发送到用户的浏览器,另一个是把它作为附件发到邮件里。在这两种情况下,这个文件只需要在生成它的网络请求期间存在。
我想说的是,之所以发起这个讨论,是因为把文件保存到真实的文件系统上会遇到一些麻烦(比如防止文件被覆盖,完成后清理文件)。有没有什么地方可以“保存”这个文件,让它只存在于内存中,并且只在请求期间有效呢?
2 个回答
1
根据你的建议,我来概括一下答案:如果“其他任何生成文件的东西”不接受类似文件的对象,而只接受文件路径,那么你可以通过使用 tempfile.NamedTemporaryFile 来减少麻烦。