我正在使用一个芹菜任务为用户数据生成PDF和Excel导出。这些任务构建临时文件。问题来了。我使用的是NamedTemporaryFile对象,它会在文件关闭时自动删除自己。由于它们在任务结束时关闭,因此它们会立即消失。
我可以让它工作,如果我设置delete属性为false:
NamedTemporaryFile(delete=False)
但是这会在系统上留下一堆临时文件,这是我不想要的。
我总是可以创建一个清理任务,但我希望可能有一个更好的模式…
谢谢!
您可以使用StringIO/CStringIO类代替NamedTemporaryFile从Excel/PDF文件中捕获数据并返回其值。StringIO类的行为与普通文件的行为相同。