【发布时间】:2011-07-23 14:55:34
【问题描述】:
我需要从一个字符串创建一个文件,这样我就可以将它用作 Django 中电子邮件的附件。经过一番谷歌搜索后,我找到了带有 TemporaryFile 的 tempfile 模块,但它没有像我预期的那样工作。
以下代码返回一个空字符串。
>>> f = tempfile.TemporaryFile()
>>> f.write('foobar')
>>> f.read()
''
【问题讨论】:
-
好问题,因为 Django 文档没有提到这一点:docs.djangoproject.com/en/dev/topics/http/file-uploads/…。如果您首先使用类似 chunks() 的方法,完成后它不会调用 seek(0),从而导致以后对 read() 的任何调用都失败。