我正在处理使用 Django 的 forms.FileField
上传的文件。这将返回类型为 InMemoryUploadedFile
的对象。
我需要在通用换行模式下访问这个文件。关于如何在不保存然后重新打开文件的情况下执行此操作的任何想法?
谢谢
最佳答案
如果您使用的是 Python 2.6 或更高版本,则可以在将文件读入内存(使用 read() 方法)后使用 io.StringIO
类。示例:
>>> import io
>>> s = u"a\r\nb\nc\rd"
>>> sio = io.StringIO(s, newline=None)
>>> sio.readlines()
[u'a\n', u'b\n', u'c\n', u'd']
要在您的 django View 中实际使用它,您可能需要将输入文件数据转换为 unicode:
stream = io.StringIO(unicode(request.FILES['foo'].read()), newline=None)
关于python - 如何以通用换行模式访问上传的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1875956/