代码之家  ›  专栏  ›  技术社区  ›  Oli

保存临时文件

  •  5
  • Oli  · 技术社区  · 14 年前

    xlwt 在python中创建Excel电子表格。你可以把它换成几乎任何生成文件的东西;重要的是我想对文件做什么。

    from xlwt import *
    
    w = Workbook()
    #... do something
    w.save('filename.xls')
    

    我想我有两个文件的用例:我流式输出到用户的浏览器或我附加到电子邮件。在这两种情况下,文件只需要在生成它的web请求的持续时间内存在。

    我的意思是,启动这个线程的原因是保存到文件系统上的真实文件有自己的障碍(停止覆盖,一旦完成就清理文件)。有没有什么地方我可以“保存”它,因为它只存在于内存中,并且只在请求期间存在?

    2 回复  |  直到 14 年前
        1
  •  5
  •   Katriel    14 年前

    cStringIO

    (或 mmap 如果它应该是可变的)

        2
  •  1
  •   John Machin Santi    14 年前

    概括一下答案,如您所建议的:如果“生成文件的任何其他对象”不接受类似文件的对象以及文件路径,那么您可以使用 tempfile.NamedTemporaryFile